一.前言 不管什么语言,并发的编程都是在高级的部分,因为并发的涉及的知识太广,不单单是操作系统的知识,还有计算机的组成的知识等等.说到底,这些年硬件的不断的发展,但是一直有一个核心的矛盾在:CPU.内存.I/O设备的三者的速度的差异.这就是所有的并发的源头. CPU与内存:缓存,CPU增加了缓存,以均衡与内存的差异:(但是带来可见性问题)CPU与IO设备:进程.线程,操作系统增加了进程.线程,以分时复用CPU,进而均衡CPU与I/O设备的速度差异:(但是带来原子性问题)编译程序指令重排序,编译程…