Python 程序,管道( multiprocessing.Pipe() ),程序通訊(雙向通訊)
阿新 • • 發佈:2019-02-12
#a,b=(1,2) #print(a,b) #管道可以雙向通訊,佇列只可以單向通訊(一個程序只能發資料,另一個只能收資料) import multiprocessing import os def func(conn): #conn管道型別 conn.send(["a","b","c","d","e"]) #傳送的資料 print("子程序",os.getpid(),conn.recv()) #收到的資料 conn.close() #關閉 if __name__=="__main__": conn_a,conn_b=multiprocessing.Pipe() #建立一個管道,兩個口 #print(id(conn_a),id(conn_b)) #print(type(conn_a), type(conn_b)) #multiprocessing.connection.PipeConnection型別 p=multiprocessing.Process(target=func,args=(conn_a,)) p.start() conn_b.send([1,2,3,4,5,6,7]) print("主程序:",os.getpid(),conn_b.recv()) p.join()