【发布时间】:2015-03-05 16:14:36
【问题描述】:
哪些现实世界场景示例可以证明在 Java 7/8 中使用 fork/join 执行器而不是线程池执行器是合理的?
【问题讨论】:
-
为什么是-1?当人们 -1 并且不告诉你原因时,这并不好。
-
同意,这也不是一个“太宽泛”的问题(尽管它可能是重复的)。 fork-join pool 具有工作窃取功能:当您执行的任务调用
join()时,它可能会将其线程放弃给另一个任务。这对于并行合并排序之类的应用程序很有用:一个普通的执行器服务,你为子排序启动任务,但你的父任务在等待子进程时仍然持有线程。结果,您很快就会用完线程。相比之下,fork-join 池可能会占用父任务的线程来运行子任务。
标签: java multithreading executorservice fork-join