并发模型指定了系统中的线程如何通过协作来完成分配给它们的作业。不同的并发模型采用不同的方式拆分作业,同时线程间的协作和交互方式也不相同。 无论哪一种模型,其任务调度方法都既可以是协作式的(cooperative),也可以是抢占式的(preemptive),协作式任务调度的时机由任务自身确定,当且仅当当前任务 主动放弃执行权,调度器才会将执行权交给其他任务;而抢占式任务调度的时机由底层软件(通常是操作系统) 确定,一个任务可能在任何时候被唤醒或挂起,因此,不同任务也可能并行执行。 协作式事件驱动模型和抢占式多线程模型是最常用的两种并发任务 处理技术。它们是对偶模型。 并行工作者模型在并行工作者模型中,委派者(Delegator)将传入的作业分配给不同的工作者。每个工作者完成整个任务。工作者们并行运作在不同的线程上,甚至可能在不同的CPU上。在Java应用系统中,并行工作者模型是最常见的并发模型(即使正在转变)。java.util.concurrent包中的许多并发实用工具都是设计用于这个模型的。并行工作者模式的优点是,它很容易理解。你只需添加更多的工作者来提高系统的并行度。共享的工...