多线程设计模式简介
随着CPU的生产工艺从提高CPU的主频率转向多核化,以往那种靠CPU主频率提升所带来的软件的性能提升的“免费午餐”不复存在。这使得多线程编程在充分发挥系统CPU资源以及软件性能方面起到了越来越重要的作用。然而,多线程编程本身又会引入开销和其他问题,如较之简单的单线程顺序编程的复杂性、线程安全问题、死锁、活锁以及上下文切换开销等。多线程设计模式是多线程编程领域的设计模式,它可以帮助我们解决多线程编程中的许多问题。
-
不使用锁的情况下保证线程安全:不可变对象模式(Immuntable Object)、线程特有存储模式(Thread Specific Storage)、串行线程封闭模式(Serial Thread Confinement)
- 优雅地停止线程:俩阶段终止模式(Two-phase Termintion)
- 线程协作:保护性暂挂模式(Guarded Suspension)、(生产者/消费者)模式(Producer-Consumer)
- 提高并发性、减少等待:承诺模式(Promise)、主动对象模式(Active Object)、流水线模式(Pipeline)
- 提高响应性:主仆模式(Master-Slave)、(半同步/半异步)模式(Half-sync/Half-async)
- 减少资源消耗:线程池模式(Thread Pool)、串行线程封闭模式(Serial Thread Confinement)
有了多线程的设计模式,那开发者在日后的工作中,就可以根据自己的业务需求去选择多线程编程,以上便是我对于多线程模式的简介,要想更多的了解可以参考《多线程编程实战指南》
https://www.cnblogs.com/javawan/p/6634552.html