通过消息队列实现进程间的通讯
from multiprocessing import Process,Queue from time import sleep # 向队列中写入数据 def write_task(q): if not q.full(): for i in range(5): message = '消息'+str(i) q.put(message) print("写入:%s" % message) # 从队列中读取数据 def read_task(q): sleep(1) while not q.empty(): print("读取:%s" % q.get()) if __name__ == '__main__': print("---父进程开始---") # 创建队列 q = Queue() # 创建一个子进程用于写入数据,并传入q给write_task函数 pw = Process(target=write_task,args=(q,)) # 创建一个子进程用于读数据,并传入q给write_task函数 pr = Process(target=read_task,args=(q,)) # 开启子进程,并且父进程是会比子进程运行快 pw.start() pr.start() print('---等待子进程结束') pw.join() pr.join() print("---父进程结束---")
标签:__,通讯,22,队列,---,print,task,进程 From: https://www.cnblogs.com/chenzhi2023/p/17726841.html