进程、线程、协程的区别

多进程:multiprocessing

密集cup任务,需要充分利用cpu资源(服务器,大量的并行运算)的时候,用多进程。
缺陷:多个进程之间通信成本高,切换开销大。

多线程:threading.hread

密集I/O任务(网络I/O、磁盘I/O、数据库I/O),使用多线程合适。
缺陷:同一个时间片只能运行一个线程,不能做到高并行。

协程:微线程 gonvent

在单个线程上执行多个任务,用函数切换,开销很小。
缺陷:单线程执行,处理密集cpu和磁盘IO时,性能很低。处理网络IO性能很高。

posted @ 2020-04-24 12:04  二二二狗子  阅读(145)  评论(0)    收藏  举报