python多线程--管道交互
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python多线程--管道交互相关的知识,希望对你有一定的参考价值。
1.管道使用‘‘‘
管道Pipe
‘‘‘
from multiprocessing import Process,Pipe
def f(conn):
conn.send(‘child message‘)
conn.close()
if __name__==‘__main__‘:
parent_conn,child_conn=Pipe()
p=Process(target=f,args=(child_conn,))
p.start()
print(parent_conn.recv())
p.join()
2.Manage
from multiprocessing import Process,Manager
import os
def f(d,l):
d[1]=‘1‘
d[‘2‘]=2
l.append(os.getpid())
if __name__=="__main__":
manage_data=Manager()
d=manage_data.dict()
l=manage_data.list()
p_list=[]
for i in range(10):
p = Process(target=f, args=(d, l))
p.start()
p_list.append(p)
for res in p_list:
res.join()
print(d)
print(l)
>>:
{1: ‘1‘, ‘2‘: 2}
[2472, 7972, 9760, 5328, 5488, 12316, 6780, 12592, 6676, 6408]
以上是关于python多线程--管道交互的主要内容,如果未能解决你的问题,请参考以下文章