参考书籍:
- 实战 Java高并发程序设计2版 : 实战Java高并发程序设计.pdf
- Java 高并发编程详解 多线程与架构设计
- Java 多线程编程实战指南
- Java 并发编程之美
- Java 并发编程的艺术
- Java 并发核心编程 多线程、锁、JMM、JUC、高并发设计模式 Java高并发核心编程 卷2:多线程 锁 JMM JUC 高并发设计模式@java1234.com.pdf
1、目录
1、Linus Torvalds 观点:
并行计算只能在图像处理和服务器端编程两个领域使用,并且它在这两个领域确实有着大量广泛的使用。但是在其他任何地方,并行计算毫无建树!
2、唐纳德的观点:
摩尔定律本应该由硬件开发人员维持。但是,很不幸,硬件工程师似乎已经无计可施了。为了继续保持性能的高速发展,硬件工程师破天荒的想出了将多个内核塞到一个CPU里的想法。由此,并行计算就被非常自然地推广开来,随之而来的问题层出不穷,程序员的黑暗时期也随之到来。简化的硬件设计方案必然带来软件设计的复杂性。换句话说,软件工程师正在为硬件工程师无法完成的工作负责,因此也就有了唐纳德的说法。
所以,如何让多个CPU有效并且正确地工作也就成了一门技术,甚至是很大的学问。比如,多线程间如何保证线程安全,如何正确理解线程间的无序性、可见性、安全性。如何尽可能的设计并行程序。