python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python并发与并行的区别

Python并发与并行的区别是什么?通俗例子帮你理解

作者:大大dxy大大

还在纠结并发和并行的区别?本文用厨师做菜的生动例子,帮你搞懂并发、并行、多进程、多线程和多协程的核心概念,并告诉你IO密集型任务该选多线程还是多协程,让你轻松掌握并发编程基础

1.并发与并发

并发:一个CPU处理多个任务,但不是同时执行,而是在不同任务间进行快速的切换。

例子:一个厨师完成洗菜与炒菜的任务,他在两个任务间进行切换,即洗一会菜,就去炒菜,炒一会菜就去洗菜,这样来回进行操作直至任务都完成。

并行:多个CPU同时处理多个任务。是真正意义上的同时进行。

例子:两个厨师,分别同时进行炒菜,洗菜。两个人是同时进行的。

2.多进程-多线程-多协程

多进程:可以使用多个CPU进行工作,但所占内存较大,使用资源较多,且启动数量受限制。

多线程:一个进程中可以启动多个线程,但这些线程是依赖于同一个CPU的,即本质上是并行处理任务。适合IO密集型

多协程:一个线程中可以启动多个协程,是最轻量级的并行处理模式。适合IO密集型,但代码较为复杂,且需要有现成的库来支持。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文