动漫萝莉被虐小游戏,百变大咖秀张亮是哪一期,进击的巨人漫画70
1 from multiprocessing import Process,Queue 2 3 def pan(rr): 4 rr.put([1,"2sdf"]) 5 6 if __name__ == "__main__": 7 #创建进程queue队列对象 8 q = Queue() 9 #创建子进程,target=函数名,args=进程队列对象 10 p = Process(target=pan,args=(q,)) 11 #启动进程 12 p.start() 13 #获取队列中的值 14 print(q.get()) 15 #等待进程结束 16 p.join()
1 from multiprocessing import Process,Pipe 2 3 def execut(conn): 4 conn.send([1,"hello word"]) 5 print("接收主进程发来的消息:%s"%conn.recv()) 6 7 if __name__ == "__main__": 8 #创建管道对象,当管道对象创建后必定返回两个参数,把这两个参数分别赋给不同的进程即可 9 Apipe,Bpipe = Pipe() 10 p = Process(target=execut,args=(Bpipe,)) 11 p.start() 12 print("接收子进程发来的消息:%s"%Apipe.recv()) 13 Apipe.send({"王阳明": "传习录"}) 14 p.join()
通过Manager包创建多进程共享
1 #进程间共享一份数据 2 #这里Manager实际是将主进程创建的内存对象拷贝给子进程,在所有进程结束后合并所有进程产生的数据。 3 4 from multiprocessing import Process,Manager 5 import os 6 7 def run(dt,lt): 8 dt["name"] = "sober" 9 dt["workdata"] = "2018-05-09" 10 lt.append(os.getpid()) 11 print(lt) 12 13 if __name__ == "__main__": 14 with Manager() as mng: 15 #使用Manager对象创建一个共享字典 16 dt = mng.dict() 17 #使用Manager对象创建一个共享列表 18 lt = mng.list() 19 #存储子进程对象 20 plist = [] 21 for i in range(5): 22 #创建子进程 23 p = Process(target=run,args=(dt,lt)) 24 p.start() 25 plist.append(p) 26 for n in plist: 27 #等待所有子进程结束 28 n.join() 29 30 print(dt) 31 print(lt)
进程池使用
1 from multiprocessing import Process,Pool 2 import os 3 4 def run(n): 5 #创建子进程执行函数 6 print("Start number: %s"%n) 7 8 def backDef(b): 9 #显示回调函数的信息,打印执行回调函数的PID 10 print("CallBacke Def :%s"%b,os.getpid()) 11 12 if __name__ == "__main__": 13 print("Print master processes PID:%s"%os.getpid()) 14 #定义一个进程池,限制进程数为:2 15 pl = Pool(processes=2) 16 #创建进程 17 for i in range(10): 18 #异步进程,func=进程执行方法名,args=方法参数,callback=回调函数 19 pl.apply_async(func=run,args=(i,),callback=backDef) 20 print("Test finish") 21 #先关闭池子,在等待池子内的工作都完成 22 pl.close() 23 pl.join()
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
Python 实现将numpy中的nan和inf,nan替换成对应的均值
python爬虫把url链接编码成gbk2312格式过程解析
网友评论