进程间不能直接传递信息
是同时写一个列表的问题,同时操作一个全局变量
这个data不是用来阻塞多线程不让他往下执行的吗
为啥要打印data
不过根据python 的逻辑 不都又具体的地址,地址也不冲突,致于里面的指针是 怎么指 怎么 链的 那就是 python 的事情了 啊
按我的 理解 就是 因该是 【【1,2,3】,【1,2,3】,【1,2,3】,【1,2,3】,【1,2,3】】这样的打印效果啊
你别把data当参数,用global data 试试
然后往data里面加数据
from multiprocessing import Process def fun1(i,data): data[i]=[1,2,3] if __name__ == __main__ : process_list = [] data=[] for i in range(5): #开启5个子进程执行fun1函数 d=[] data.append(d) p = Process(target=fun1,args=(i,data)) #实例化进程对象 p.start() process_list.append(p) for i in process_list: p.join() print(data)
帮修改下啊,怎么个 global data
进程 用消息队列
进行通信
Global不管用吧
global是用在函数里的
这样写报错
说了 进程间不能通信
你是个小白吧
进程都没学过吧
是啊
我想这样 就是 进程间通信了?