关于python多进程使用(Queue、生产者和消费者)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于python多进程使用(Queue、生产者和消费者)相关的知识,希望对你有一定的参考价值。

参考技术A

关于 的生产者和消费者的实现,刚好最近有用到,简单总结记录下:

是系统独立调度核分配系统资源(CPU、内存)的基本单位,进程之间是相互独立的,每启动一个新的进程相当于把数据进行了一次克隆。
python提供了多种方法实现了多进程中间的 (可以修改同一份数据)。

GIL 的全称是 Global Interpreter Lock(全局解释器锁),来源是 Python 设计之初的考虑,为了数据安全所做的决定。
某个线程想要执行,必须先拿到 GIL,我们可以把 GIL 看作是“通行证”,并且在一个 Python 进程中,GIL 只有一个,这就导致了多线程抢占GIL耗时。这就是为什么在多核CPU上,Python 的多线程效率并不高的根本原因。
所以有必要学习下多进程的使用。

以上是关于关于python多进程使用(Queue、生产者和消费者)的主要内容,如果未能解决你的问题,请参考以下文章

Python爬虫编程思想(141):多线程和多进程爬虫--生产者-消费者问题与queue模块

Python多进程,多线程和异步实例

Python多进程,多线程和异步实例

41. Python Queue 多进程的消息队列 PIPE

python并发编程之多进程:互斥锁(同步锁)&进程其他属性&进程间通信(queue)&生产者消费者模型

python—多进程的消息队列