问题标签 [executors]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
772 浏览

java - 多线程 newSingleThreadExecutor 饥饿死锁

这直接来自Java Concurrency in Practice。以下导致死锁:

我无法弄清楚为什么这会导致死锁。我已经检查过了。它甚至返回 header.get() 并打印检索到的标题,那么它是如何死锁的?

0 投票
1 回答
784 浏览

java - 在java中发送批量HTTP

该程序用于读取文件,并将每一行作为 http 发送。文件中的每一行都是一个 url。

例如 http://localhost:8080/?a=1&b=2

发送任务.java

}

当我发送包含 500,000 行的文件时,它可以工作。但随后它发送了 100,000 行,发生了一个错误:java.lang.OutOfMemoryError:超出了 GC 开销限制。

  • 如何修改程序以确保它可以发送至少 100 万行?谢谢你!
0 投票
2 回答
310 浏览

java - 如何让一个执行程序 FixedThreadPool 等待另一个执行程序 SingleThreadExecutor?

我有 3 个任务要做:

  • 首先:在同一个执行器中依次下载 htmlFile --------\ ,它工作正常。
  • 二:解压html文件---------/

  • 第三:下载图像 ------> 在另一个执行程序中,我需要下载分成 5 个文件的图像,为此我使用的是 FixedThreadPool(5),即 5 个并行下载。

但是当我点击下载时,我的图像下载开始而不等待 htmlDownload 完成,我怎么能对我的 executorPool 等待我的另一个 executor singleThread?

主类:

我的 DownloadUtil 类:

0 投票
1 回答
13679 浏览

java - 超时后中止 countDownLatch.await()

我正在使用 anExecutorService来实现一个 3 线程池,并使用 CountDownLatch 来监视所有线程的完成情况,以便进一步处理。

我曾经countDownLatch.await()等到所有线程都完成。我希望这个过程countDownLatch.await()在 TIME OUT 说 45 秒的情况下中止。我该如何实施?

0 投票
2 回答
180 浏览

java - 我在java服务器中有五个线程,我应该怎么做才能让它们同时运行一个任务?

我用java编写了一个web服务器,需要一个任务类来将数据上传到另一个服务器,所以我这样做如下:

TaskRunnable。问题是,每次只安排一个线程运行这个new Task(),其他线程只是空闲,如果有大量数据来,我存储数据的工作队列变得非常大,更糟糕的是,我无法在花药中获取实时数据服务器。我的英语太糟糕了,如果你明白我的意思,我正在徘徊,我想找到解决这个问题的方法,你能帮我吗?

0 投票
2 回答
75 浏览

java - 如何识别正确的java Executor?

我们需要做一些异步任务处理,其中大约 30-40 个请求将同时到来,每个请求将启动一个异步任务,大约需要 7-8 秒才能完成。

如果已确定 java executorservice 来执行此类任务,那么用于此目的的空闲类型的 executor 是什么?

我想过使用 CachedThreadPool 但我担心如果创建了太多线程会对应用程序产生任何性能影响吗?

另一种选择是使用 FixedThreadPool 但我很难想到应该用它实例化的空闲无线程......对于这种情况推荐的执行程序是什么,或者我们如何找到合适的执行程序?

0 投票
2 回答
17685 浏览

java - ScheduledExecutorService,如何在不停止执行程序的情况下停止动作?

我有这个代码:

在某些事件之后,我应该停止在实现的run()方法中声明的操作。SomethingDoerRunnable

我怎样才能做到这一点?我无法关闭执行程序,我应该只撤销我的定期任务。我可以用result.get()这个吗?如果可以,请告诉我它将如何工作。

0 投票
1 回答
259 浏览

executors - 如何决定 Executors.newFixedThreadPool 的参数

分配给 Executors.newFixedThreadPool(n) 的适当值应该是什么?有没有这样做的公式?

0 投票
7 回答
1011 浏览

java - Java并发:用很少的线程执行许多“无限”任务

我正在为根据牛顿定律在空间中移动的一组 N 个粒子构建一个(并发)模拟器。我的想法是将每个粒子建模为一个任务,它与其他粒子(任务)相互作用以获得它们的位置和质量,从而计算它所受的净力。每个粒子任务都是

我可以有很多粒子(100 个或更多),所以我无法创建这么多 Java 线程(映射到物理线程)。我的想法是使用Runtime.getRuntime().availableProcessors()+1可以执行许多任务的线程。

但是,我不能使用 FixedThreadExecutor 因为粒子任务没有结束。我想使用一个 FixedThreadExecutor ,它还必须能够在内部执行某种调度。你知道一些为此目的吗?

或者,您能否建议我从并发的角度(例如,不同的任务分解)对这样的系统进行建模的更好方法?

Ps:我仅限于“经典”并发机制,不包括actor或类似架构。

0 投票
5 回答
626 浏览

java - 使用执行器框架还是普通线程?

最近收到一个面试题:

有一种情况,一个线程在一小时的间隔内执行批处理操作,你会使用执行器框架还是普通线程,为什么?

我很困惑 。

由于只有一个线程,因此不需要执行器服务。我可以使用while and来做到这一点sleep

虽然有一个 ScheduleExecutorService 提供了这么多调度方法?

什么是最好的方法?