# -*- coding:utf-8 -*- # 线程之间通信使用的队列是 queue # 进程之间通信使用的队列是 multiprocessing.Queue import multiprocessing import queue,time def son(q): q.put("子进程放的") print(q.get()) if __name__ == '__main__': q = multiprocessing.Queue() zi = multiprocessing.Process(target=son,args=(q,)).start() q.put('主进程放的') print(q.get()) # 利用Pipe 建立双向链接 from multiprocessing import Process,Pipe def f(conn): conn.send("qwe") response = conn.recv() print(response) conn.close() if __name__ == '__main__': pare_conn, child_conn = Pipe() # 创建对象 会返回两个链接 p = Process(target=f,args=(child_conn,)).start() # 传给子进程一个 print(pare_conn.recv()) # 接收 子进程 发来的消息 pare_conn.send("主进程") # 发送消息 # 创建共享空间 from multiprocessing import Process, Manager def f(d, l, n): d[n] = '1' l.append(n) if __name__ == '__main__': with Manager() as manager: dic = manager.dict() # 共享空间创建 创建字典 lis = manager.list(range(5)) # 创建 列表 p_list = [] for i in range(2): q = Process(target=f,args=(dic, lis, i)) # 传入参数 q.start() p_list.append(q) for res in p_list: res.join() print(dic) print(lis)
进程间通信
最新推荐文章于 2025-03-29 14:24:25 发布