Python 进程通信,队列(multiprocessing.Queue()),单向通信

import multiprocessing
queue=multiprocessing.Queue() #队列可以实现多进程全局变量的共享(进程通信)
#管道(multiprocessing.Pipe() )可以双向通信,队列只可以单向通信(一个进程只能发数据,另一个只能收数据)
def func(myq):
    print(id(myq))   #查看队列地址
    #myq.put([1,2,3,4,5]) #子进程发送数据
    print(myq.get())   #子进程获取数据

if __name__=="__main__":
    print(id(queue)) #查看地址
    queue.put([1, 2, 3, 4, 5])  #主进程发送数据
    p=multiprocessing.Process(target=func,args=(queue,))
    p.start()
    p.join()
    #print(queue.get()) #父亲进程获取数据

#队列,单项通信,
#父进程插入,子进程读取
#子进程写入,父进程读取

你可能感兴趣的:(Python)