Java 并发编程总结
1. 为什么要并发?
我们知道计算机中 CPU 执行速度是最快的,而 I/O 的执行效率明显远远落后于 CPU 的计算速度。所有的多进程(多线程)都是为了解决 CPU 和 I/O 速度不匹配的问题,也就是更大效率的利用好 CPU 资源。
什么是并发?
CPU 是以时间片划分的,每个任务都是在 CPU 的时间片不断的切换下执行,因为 CPU 的执行速度很快,看起来多个任务(线程 or 进程)就像是在同时执行。
什么是并行?
现代计算机都是多核,每个核就相当于一个 CPU,比如两个核就可以同时执行两个任务,就是真正两个任务同时执行。
2. java 并发编程解决了哪些问题?
从顶层抽象来看 java 并发编程主要是围绕着:分工,同步,互斥三个方面来进行设计(如图)。
评论