什么是ForkJoinPool异步模式
|
ForkJoinPool的异步模式是什么意思? Javadoc提到它使队列(按线程队列吗?)创建FIFO而不是LIFO。在实践中是什么意思?
没有找到相关结果
已邀请:
2 个回复
篮肥炼皖
在非异步模式下(默认值为default0ѭ),从未加入的分叉任务将按LIFO顺序执行。 在非异步模式下运行示例程序时,查看一个工作程序的输出,您可能会看到类似以下的模式:
在这里,任务10、11、12被派生,随后一旦工人四处执行,便以相反的顺序执行。 另一方面,在异步模式下,再次查看一个工作程序的输出,该模式将看起来如下所示:
分派任务8、9、10、11,然后按照提交顺序执行任务。 什么时候使用哪种模式?每当选择“ 0”线程池来利用其工作窃取属性而不是用于递归fork / join任务处理时,异步模式可能是更自然的选择,因为任务按提交顺序执行。 有时会说异步事件驱动框架(例如ѭ11)从异步模式中受益。例如,当构造一个由chain11ѭ回调组成的复杂链时,异步模式下的自定义
执行程序可能会比默认执行程序稍好一些。 (不过我不能凭经验说话。)
掀辟髓观粟