《Java多线程编程实战》—— 第11~14章

第11章 Serial Thread Confinement(串行线程封闭)模式

将多个并发的任务存入队列实现任务的串行化。唯一的工作者线程。
避免加锁。本质是使用一个开销更小的锁替换一个可能的开销更大的锁。

第12章 Master-Slave(主仆)模式

将一个任务分解为若干个语义等同的子任务,由专门的工作者线程来并行执行这些子任务。通过整合各个子任务的处理结果生成最后的结果。

第13章 Pipeline(流水线)模式

将一个任务分解为若干个处理阶段,每个处理阶段的输出作为下一阶段的输入,并且各个处理阶段都有相应的工作者线程去执行相应的计算。
有依赖关系的任务进行并行处理。
但是Pipeline模式中各个处理阶段所使用的工作者线程或者线程池、表示各个处理阶段的输入/输出对象的创建和移动都有时间和空间开销。因此,Pipeline模式适合处理规模较大的任务。

第14章 Half-sync/Half-async(半同步/半异步)模式

分层架构。包含3个层次:异步任务层、同步任务层和队列层。
核心思想是将系统中的任务进行恰当的分解,使各个子任务落入合适的层次。
低级的任务或者耗时较短的任务可以安排在异步任务层。
高级的任务或者耗时较长的任务可以安排在同步任务层。
两层之间通过队列层进行解耦:队列层负责两层之间的数据交换。

猜你喜欢

转载自blog.csdn.net/wsjtwmy/article/details/84959872