进程
操作系统"程序"的最小单位
进程用来占用内存空间
进程相当于厂房,占用工厂空间
线程
每个进程可以有多个线程
线程使用系统分配给进程的内存,线程之间共享内存
线程用来占用CPU时间
线程的调度需要由系统进行,开销比较大
线程相当于工厂的生产线,占用工人的工时
线程里跑的程序就是生产流程
线程的问题
线程本身占用资源大
线程的操作开销大
线程切换开销大
协程
协程就是将一段程序的运行状态打包,可以在线程之间调度
将生产流程打包,使得流程不固定在生产线上
协程并不取代线程,协程也要在线程上运行
线程是协程的资源,协程使用线程这个资源
协程的优势
资源利用
快速调度
超高的并发
总结
进程用来分配内存空间
线程用来分配CPU时间
协程用来精细利用线程
协程的本质是一段包含了运行状态的程序