进程是计算机资源分配的最小单元,主要用来做数据隔离
线程是计算机工作的最小单元
一个应用程序里面又可以有多个进程,一个进程里面可以有多个线程
其他语言里面没有进程,使用的都是线程
在python里面,一般IO操作多的时候使用线程,计算密集型的话使用进程
因为存在GIL锁,GIL锁一般存在python里面,GIL锁的主要作用是控制一个进程中同一时间只有一个线程被CPU调度
如果想利用CPU的多核优势,就需要开多个进程
IO操作时不占CPU的,所以可以使用多线程
协程是程序猿创建的,协程本身是不存在的,程序猿可以人为的控制协程,可以让程序先执行一段代码,然后再执行另一段代码,可以在函数之间来回切换
协程本身存在没有意义,但是可以跟IO切换配合使用的话,一遇到IO就去执行其他操作,可以让线程不停止,持续工作,如果IO有反馈,也会自动切换回来
python中使用协程,可以借助greenlet模块,实现协程+IO切换的模块是gevent
简述进程,线程,协程的关系
