Java并发编程艺术----读书笔记(一)
2017-03-19 11:19
253 查看
并发编程的挑战
1上下文切换。
cpu通过时间片分配算法来执行任务,从一个任务切换到另一个任务时会保留上个任务的状态。
多线程切换上下文开销大,不一定比单线程快。
减少上下文切换的方法
1无锁并发,不同线程处理不同数据段
2CAS算法,java的原子编程使用此算法,不需要加锁。
3最少线程编程
4协程:单线程多任务,并且支持切换。
2死锁
3 资源限制的挑战:
1网络带宽限制,硬件限制
2资源限制会导致并发效率低下
3硬件资源限制可以用分布式集群解决资源限制问题,让程序在多机执行。
软件资源,可以采取资源池复用的方式,如数据库连接池,socket连接复用,webservice连接复用等。
4资源受限时的并发,根据资源调整并发度,比如根据带宽调整,根据数据库连接数调整。
相关文章推荐
- <java并发编程的艺术>读书笔记-第三章java内存模型(一)
- java并发编程的艺术-读书笔记-01
- Java并发编程艺术----读书笔记(二)
- Java并发编程的艺术-读书笔记
- Java并发编程的艺术-读书笔记
- synchronized的实现原理-java并发编程的艺术读书笔记
- java并发编程的艺术读书笔记--Java内存模型(2)
- Java并发编程的艺术读书笔记(1)-并发编程的挑战
- <Java 并发编程实践>读书笔记 --- 线程封闭
- Java并发编程的艺术 读后记要(2)
- Java并发编程的艺术(二)——重排序
- Java并发编程的艺术(十一)——线程池(2)
- Java并发编程的艺术(一)——并发编程需要注意的问题
- <Java 并发编程实践>读书笔记 --- 重排序
- Java并发编程的艺术读书笔记(2)-并发编程模型
- Java并发编程的艺术(十)——线程池(1)
- java并发编程实战 java并发编程的艺术 阅读随笔
- Java并发编程实践 读书笔记
- Java并发编程的艺术(一)
- Java并发编程的艺术(一)——并发编程需要注意的问题