并发编程需要解决的问题

image-20210818142706646

从性能角度讲,我们为了提高执行一定计算机任务的效率,所以IO等待的时候不能让cpu闲着,所以我们把任务拆分交替执行,有了分时操作系统,出现了并发,后来cpu多核了又有了并行计算。这里也就是作者说的[分工]。分工以后我们为了进一步提升效率和更加灵活地达到目的,所以我们要对任务进行组织编排,也就是对线程组织编排。于是线程之间需要通信,于是操作系统提供了一些让进程,线程之间通信的方式。也就是作者说的[同步]

学习需要参考的资料

《Java并发编程实战》作者阵容可谓大师云集,也包括Doug Lea 《Java并发编程的艺术》讲解并发包内部实现原理,能读明白,内功大增 《图解Java多线程设计模式》并发编程设计模式方面的经典书籍 《操作系统:精髓与设计原理》经典操作系统教材 http://ifeve.com 国内专业并发编程网站 http://www.cs.umd.edu/~pugh/java/memoryModel/ 很多并发编程的早期资料都在这里