java - ForkjoinPool 没有 BlockingQueue

标签 java multithreading

为什么ForkJoinPool没有像ThreadPoolExecutor那样的BlockingQueue?它似乎也没有拒绝队列。

我一直在使用 ThreadPoolExecutor 和阻塞队列来实现上述两个目的,它们能够帮助异步操作,而这对于 ForkJoinPool 来说似乎更困难。任何建议或意见都会有帮助。

最佳答案

ForkJoinPool 很特殊,它不只有一个队列。它实际上有与线程一样多的队列,并且线程将在其队列中执行,并且当空时从另一个线程的队列中窃取工作。

话虽如此,考虑到队列的复杂性,您不应该选择覆盖队列。

关于java - ForkjoinPool 没有 BlockingQueue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18792612/

相关文章:

java - 如何在 Moshi 中将 PolymorphicJsonAdapterFactory 与接口(interface)一起使用?

java - 获取用于 MethodInvocation 的实际类而不是声明类

java - writer 是原子方法吗?

java - groovy 中的 Join() 不等待线程完成

c++ - 生产者-消费者模型

Java - 如何将对象异步保存到数据库?

java - 在 JDeveloper 中,如何指定要使用哪个类的 'main'?

java - 这两个代码片段是相同的还是有任何不同?

c++ - Winsock2 监听循环

ios - 蓝牙停止主线程