对三种不同并发模型的 Java 支持
我正在多线程环境中经历不同的并发模型(http://tutorials.jenkov.com/java-concurrency/concurrency-models.html)
本文重点介绍了三种并发模型。
-
平行工作者
第一个并发模型是我所说的并行工作线程模型。传入作业分配给不同的工作人员。
-
装配线
工人像工厂装配线上的工人一样组织起来。每个工作人员只执行全部作业的一部分。完成该部件后,工作人员将作业转发给下一个工作人员。
每个工作线程都在自己的线程中运行,并且不与其他工作线程共享任何状态。这有时也称为无共享并发模型。
-
功能并行性
函数并行性的基本思想是使用函数调用实现程序。函数可以看作是相互发送消息的“代理”或“参与者”,就像在装配线并发模型(AKA反应式或事件驱动系统)中一样。当一个函数调用另一个函数时,这类似于发送消息。
现在我想为这三个概念映射Java API支持
Parallel Workers : Is it ExecutorService,ThreadPoolExecutor, CountDownLatch API?
组装线:将事件发送到JMS等消息传递系统,并使用队列和主题的消息传递概念。
功能并行性:一定程度上ForkJoinPool和java 8流。与流相比,ForkJoin池易于理解。
映射这些并发模型是否正确?如果没有,请纠正我。