一、必备理论基础
并发编程是指在一台处理器上“同时”处理多个任务,为的是充分利用CPU的每一核,以达到最高的处理性能。
要想了解并发编程需要先了解操作系统,因为进程源自操作系统。进程是对正在进行程序的一个抽象,同时也是操作系统最核心的概念。
操作系统是一个协调、管理和控制计算机硬件资源和软件资源的控制程序,本质也是一个软件。有了操作系统,程序员可以专注于应用软件的编写,应用软件直接使用操作系统的软件来调用硬件接口。
多道技术
多道技术是指在计算机内存中有多个程序,在操作系统的管理控制下互相穿插运行,由于极快,给人的感觉是同时运行的。即使现在有了多核CPU,每一核也都会用多道技术, 多道技术是针对单核的。具体的解决方式叫做多路复用,多路复用分为时间上的复用和空间上的复用。
空间上的复用:将内存分为几个部分,每个部分运行一道程序,这就我们就能同时打开多个应用程序。
时间上的复用:当一个进程在进行I/O操作时或被占用时间太长时间,就会被操作系统剥去CPU的权限,让别的程序使用。
二、多进程
https://www.cnblogs.com/lshedward/p/10250094.html (理论)
https://www.cnblogs.com/lshedward/p/10250284.html (实战)
三、多线程
https://www.cnblogs.com/lshedward/p/10250633.html
四、协程
https://www.cnblogs.com/lshedward/p/10250886.html