第一章:
1.Linus观点:除服务端和图像处理外不要考虑并行。
2.摩尔定律在cpu的运算性能上已经失效(接近理论极限),多核(一个cpu内有多个独立计算单元)cpu发展
3.基本概念:
- 同步、异步
- 并发、并行
- 临界区
- 阻塞、非阻塞
- 死锁、饥饿、活锁(线程主动释放资源给其他线程)
- 并发级别:阻塞、无饥饿、无障碍、无锁、无等待
4.两个重要定律(侧重点不同,还未理解)
- Amdahi定律(优化前后耗时之比,串行/并行比例,处理器个数)
- Gustafson定律(串行+并行总执行时间与无并行的执行时间之比)
5.JMM的特性
- 原子性
- 有序性:指令重排序(指令流水线)
- 可见性:硬件优化、缓存优化、编译器优化、指令重排序等影响
- happens-before原则(不能重排序的情况)
第二章:
- 线程的生命周期(new,terminated,runnable,blocked,waiting,timed-waiting)
- 线程基本操作:
本文探讨了Linus对于并行计算的观点,指出在服务端和图像处理之外的场景中并不总是需要并行处理。随着摩尔定律的失效,多核CPU成为性能提升的主要方式。文章介绍了同步、异步、并发、并行等基本概念,以及临界区、阻塞、非阻塞等线程管理关键点。此外,提到了死锁、饥饿和活锁等并发问题及并发级别的分类。Amdahl定律和Gustafson定律作为并行计算效率的两个重要定律被提及。同时,文章还涉及Java内存模型(JMM)的原子性、有序性和可见性特点。第二章讨论了线程的生命周期和基本操作,包括新建、运行、阻塞、等待和终止状态。
365

被折叠的 条评论
为什么被折叠?



