Akka是一种并发编程模型的框架,其官网为http://akka.io。提供Java版本和Scala版本的API。
从学习或者使用的角度来说,我们首先要说明的是,Akka的并发编程模型(流水线模式)与Java中的并发编程模型(并行者模式)有什么区别。
1、Java中的并行工作者模式
并行工作者模型。传入的作业会被分配到不同的工作者上。下图展示了并行工作者模型:
在并行工作者模型中,委派者(Delegator)将传入的作业分配给不同的工作者。每个工作者完成整个任务。工作者们并行运作在不同的线程上,甚至可能在不同的CPU上。
如果在某个汽车厂里实现了并行工作者模型,每台车都会由一个工人来生产。工人们将拿到汽车的生产规格,并且从头到尾负责所有工作。
在Java应用系统中,并行工作者模型是最常见的并发模型(即使正在转变)。java.util.concurrent包中的许多并发实用工具都是设计用于这个模型的。你也可以在Java企业级(J2EE)应用服务器的设计中看到这个模型的踪迹。
并行工作者当然有着自己的有点,在这里我们主要讨论的是其缺点:
在实际应用中,并行工作者模型可能比前面