Python中Process如何通信

   2024-10-02 6630
核心提示:在Python中,可以使用multiprocessing模块中的Queue、Pipe、Manager等方式来实现多个进程之间的通信。使用Queue:from multiproc

在Python中,可以使用multiprocessing模块中的Queue、Pipe、Manager等方式来实现多个进程之间的通信。

使用Queue:
from multiprocessing import Process, Queuedef worker(q):    data = q.get()    print(f"Received data: {data}")if __name__ == '__main__':    q = Queue()        p = Process(target=worker, args=(q,))    p.start()        q.put("Hello from main process")        p.join()
使用Pipe:
from multiprocessing import Process, Pipedef worker(conn):    data = conn.recv()    print(f"Received data: {data}")    conn.send("Hello from worker")if __name__ == '__main__':    parent_conn, child_conn = Pipe()        p = Process(target=worker, args=(child_conn,))    p.start()        parent_conn.send("Hello from main process")    print(parent_conn.recv())        p.join()
使用Manager:
from multiprocessing import Process, Managerdef worker(d):    d["key"] = "value"    print(f"Worker data: {d}")if __name__ == '__main__':    with Manager() as manager:        d = manager.dict()                p = Process(target=worker, args=(d,))        p.start()                p.join()                print(f"Main process data: {d}")

这些方法可以让不同进程之间进行数据的传递和共享,从而实现进程间的通信。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式 | 网站留言    |  赣ICP备2021007278号