这些都是根据我最近看的《Java实战指南多线程编程(设计模式篇)》所得整理。
设计模式是什么 (个人理解)
个人理解,设计模式就是对一些相对固定类型的问题的比较好的解决办法,简单来说就是代码版的兵法。
因为是对固定的问题的研究,所以很多设计模式的想法是经过时间的磨练,一般都是比较优秀的。
但是由于设计模式只是一个思想,而不是具体的行动,在学习的时候应该注重对思想的理解,因为具体的实现是和语言以及实现的问题相关的。
多线程设计模式考虑的问题
多线程设计模式主要是解决多线程设计当中的问题的,主要是以下几个问题:
1. 不使用锁的情况下保证线程安全:不可变对象模式,线程特有存储模式,串行线程模式
2. 优雅地停止线程:两阶段终止模式
3. 线程写作:保护性暂挂模式,消费者生产者模式
4. 提高并发性:承诺模式,主动对象模式,流水线模式
5. 提高响应性:主仆模式,半同步半异步模式
6. 较少资源消耗:线程池模式,串行线程封闭模式
模式与模式之间的的关系
设计模式不是鼓励的,一个设计模式往往和其他设计模式存在某些关联:一个模式可以解决另一个模式带来的问题;一个模式可以看做是另一个模式的特殊情况;几个模式可以组合解决一个大问题;几个模式都可以解决同一个问题,只是看具体情况具体选择哪个模式。
总结
这本《Java实战指南多线程编程(设计模式篇)》的阅读和理解暂时告一段落,但是对于多线程相关知识的学习、理解和应用还有很长的一段路要走。