69得票4回答
未来超时会终止线程执行吗?

在使用ExecutorService和Future对象(提交Runnable任务)时,如果我给future的get函数指定了超时值,当抛出TimeoutException时,底层线程会被终止吗?

64得票6回答
ExecutorService与ThreadPoolExecutor使用LinkedBlockingQueue的区别

我正在开发一个多线程项目,需要生成多个线程来测试我的客户端代码的端到端性能,因为我正在进行负载和性能测试。所以我编写了下面的代码,它使用ExecutorService。 以下是使用ExecutorService的代码:public class MultithreadingExample { ...

57得票9回答
使用ExecutorService的优点是什么?

使用ExecutorService相比将Runnable传递到Thread构造函数中运行线程有什么优势?

57得票6回答
Java中Future和FutureTask有什么区别?

既然使用 ExecutorService 可以 submit 一个 Callable 任务并返回一个 Future,那么为什么需要使用 FutureTask 来包装 Callable 任务并使用方法 execute 呢? 我感觉它们都是做同样的事情。

56得票3回答
如何关闭 ExecutorService?

每当我调用shutdownNow()或shutdown()时,它都不会关闭。我读了一些线程,其中说关闭不是保证的 - 有人能给我提供一个好的方法来做到这一点吗?

50得票11回答
如何处理 ExecutionException 是最好的方式?

我有一个执行某些任务的方法,其中包含一个超时机制。我使用ExecutorServer.submit()来获取Future对象,然后使用future.get()方法进行超时处理。这个方法已经能够正常工作,但我的问题是如何处理可能由任务抛出的受检异常。以下代码可以保留受检异常,但似乎非常笨拙,如果...

49得票4回答
ExecutorCompletionService是什么?如果我们有invokeAll为什么还需要它?

如果我们使用一个ExecutorCompletionService,我们可以将一系列任务作为Callable提交,并通过CompletionService交互地以queue的形式获取结果。 但是,还有一个ExecutorService的invokeAll方法可以接受一组任务并返回一个包含结果...

47得票3回答
如何中断ExecutorService的线程

当使用Executors.newSingleThreadExecutor()返回的ExecutorService时,我如何中断它?

44得票3回答
Java8的ForkJoinPool和Executors.newWorkStealingPool之间的详细区别是什么?

使用以下哪种方法时的低级差异是什么:ForkJoinPool = new ForkJoinPool(X); 和ExecutorService ex = Executors.newWorkStealingPool(X); 其中X是所需并行性水平,即运行的线程。 根据文档,我发现它们相似。此外,请...

43得票2回答
优雅地实现队列长度指示器到ExecutorServices

为什么java.util.concurrent没有为其ExecutorService提供队列长度指示器呢?最近我发现自己做了这样的事情:ExecutorService queue = Executors.newSingleThreadExecutor(); AtomicInteger queu...