多任务:
1.进程
2.线程
3.协程
1.进程、线程的区别是什么
答:
进程:一个程序在一个数据集上的一次动态执行的过程
线程:轻量级进程,是一个基本的CPU执行单位,也是执行过程中的最小单位
共同点都是实现多任务,为了提高效率。
进程:独立内存空间,对于系统的资源开销要比线程大。
线程:一个进程当中可以有多个线程,共享内存。
创建线程(进程)方式 :
(1)Thread类下的thread(target=函数名)
(2)创建一个线程类,这个类需要继承Thread类,覆写run方法。
协程:
为什么要有协程?---原因是python下面的多线程是伪多线程,GIL,为了让程序提高执行效率,python发明协程。
协程也叫做“微线程”,(也有专门一个第三方包)用yield来实现。答yield作用。
总结:一般情况下在CPU计算密集的时候使用多进程,在IO密集的时候使用多线程。