Python—进程间通信
from multiprocessing import Process,Pipe
import os,time
# fd1只能recv,fd2只能send
# fd1,fd2 = Pipe(False)
# 创建一个双向管道
fd1,fd2 = Pipe()
# fd1.close()
def fun(name):
time.sleep(1)
# 子进程发送字符串到管道
fd2.send("hello "+str(name))
print(os.getppid(),"...",os.getpid())
jobs = []
for i in range(5):
p = Process(target = fun,args = (i,))
jobs.append(p)
p.start()
# 父进程从管道接受子进程发送来的消息,发送与接受的都是字符串
for i in range(5):
data = fd1.recv()
print(data)
for i in jobs:
i.join()

浙公网安备 33010602011771号