Python全系列 教程
3567个小节阅读:5930.6k
目录
鸿蒙应用开发
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
前面讲解了使用 Queue
模块中的 Queue
类实现线程间通信,但要实现进程间通信,需要使用 multiprocessing
模块中的 Queue
类。
简单的理解 Queue
实现进程间通信的方式,就是使用了操作系统给开辟的一个队列空间,各个进程可以把数据放到该队列中,当然也可以从队列中把自己需要的信息取走。
【示例】使用Queue实现进程间通信的经典代码
xxxxxxxxxx
from multiprocessing import Process,Queue
class MyProcess(Process):
def __init__(self,name,mq):
Process.__init__(self)
self.name = name
self.mq = mq
def run(self):
print("Process:{} start".format(self.name))
print('--------------',self.mq.get(),'-------------')
self.mq.put(self.name)
print("Process:{} end".format(self.name))
if __name__ == '__main__':
# 创建进程列表
t_list = []
mq = Queue()
mq.put('1')
mq.put('2')
mq.put('3')
# 循环创建进程
for i in range(3):
t = MyProcess('p{}'.format(i),mq)
t.start()
t_list.append(t)
# 等待进程结束
for t in t_list:
t.join()
print(mq.get())
print(mq.get())
print(mq.get())