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