何为进程、线程、协程
* 进程:运行起来的程序就是进程,是操作系统分配资源的最小单位。
* 线程:线程是进程的组成部分,一个进程可以拥有多个线程,一个线程必须有一个父进程。
* 协程:是线程的更小切分,又称为“微线程”,是一种用户态的轻量级线程。
* 三者关系:进程里有线程,线程里有协程
进程、线程、协程的区别
* 进程:针对于python语言执行环境来说,多进程是利用多核CPU来完成任务,进程拥有独立的内存空间,所以进程间数据不共享,进程之间的通讯是由操作系统完成的,在切换时,CPU需要进行上下文切换,导致通讯效率比较低、开销比较大。
* 线程:多线程是在一个进程内运行,共享进程的内存空间,通讯效率较高、开销较小。但缺点是:因为python底层的GIL锁(global interpeter lock),python的底层的同步锁太多导致多线程被同步很多次,搞成并发效果不佳。
* 协程:一个可以挂起的函数,协程的调度完全由用户控制,用函数切换,开销极小。
多进程、多线程、