进程、线程、协程的区别

124 阅读1分钟

1先有进程,然后进程可以创建线程,线程是依附在进程里面的, 线程里面可以包含多个协程
2 进程之间不共享全局变量,线程之间共享全局变量,但是要注意资源竞争的问题
3 多进程开发比单进程多线程开发稳定性要强,但是多进程开发比多线程开发资源开销要大
4 多线程开发线程之间执行是无序的,协程之间执行按照一定顺序交替执行
5 协程以后主要用在网络爬虫和网络请求,开辟一个协程大概需要5k空间,开辟一个线程需要512k空间, 开辟一个进程占用资源最多

进程是资源分配的单位,真正执行代码的是线程,操作系统真正调度的是线程。
进程没有线程效率高,进程占用资源多,线程占用资源少,比线程更少的是协程。

协程依赖于线程、线程依赖于进程,进程一死线程必挂,线程一挂协程必死
一般不用多进程,可以考虑使用多线程,如果多线程里面有很多网络请求,网络可能会有堵塞,此时用协程比较合适。