0%

多线程设计模式概述

多线程设计模式类别概括

  • 不可变对象模式(Immutable Object)

线程安全性指的是多个线程对共享资源同时进行访问时,防止数据发生未定义的变化。

所谓的不可变对象就是没有机会去修改它,每一次修改都会产生一个新的对象。

  • 保护性暂挂模式(Guarded Suspension)

核心思想是仅当服务进程准备好时,才提供服务。

该模式主要成员有:Request、RequestQueue、ClientThread、ServerThread。

  1. Request:表示客户端请求
  2. RequestQueue:用于保存客户端请求队列
  3. ClientThread:客户端进程
  4. ServerThread:服务器进程

适用场景:一项任务被分解为多个不同的部分,每个线程完成不同的部分,这些线程相互协作时,会出现一个线程等待另一个线程一定操作后才能进行的场景。

  • 两阶段终止模式(Two-phase Termination)
  • 承诺模式(Promise)
  • 生产者-消费者模式(Producer-Consumer)
  • 主动对象模式(Active Object)
  • 线程池模式(Thread Poll)
  • 线程特有存储(Thread Specific Storage)
  • 串行线程封闭模式(Serial Thread Confinement)
  • 主仆模式(Master-Slave)
  • 流水线模式(Pipeline)
  • 半同步/半异步模式(Half-sync/Half-async)