网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

多进程_父进程子进程数据传递共享

进程queue传递
frommultiprocessingimportProcess,Queue

deff(qq):
    qq.put([42,None,'hello'])

if__name__ =='__main__':
    q = Queue()#父进程queue
   
p = Process(target=f,args=(q,))#子进程 父进程的queue传给子进程 实现数据传递
   
p.start()#启动子进程
   
print(q.get()) # prints "[42, None, 'hello']"父进程q可以get到子进程p实现父进程子进程数据共享
   
p.join()

#线程queue不能传给进程

为留坝等地区用户提供了全套网页设计制作服务,及留坝网站建设行业解决方案。主营业务为网站制作、网站建设、留坝网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

 
管道传递
frommultiprocessingimportProcess, Pipe

deff(conn):
    conn.send([42,None,'hello from child'])
    conn.send([43,None,'hello from child2'])
   print("child recv:",conn.recv())
    conn.close()

if__name__ =='__main__':
    parent_conn, child_conn = Pipe() #生成管道实例,取出两端
    p = Process(target=f,args=(child_conn,))
    p.start()
   print(parent_conn.recv())# prints "[42, None, 'hello']"
   
print(parent_conn.recv())
    parent_conn.send("hello send by parent")
    p.join()

manager数据共享
frommultiprocessing importProcess, Manager
importos

deff(d, l):#每个子进程执行的函数
   
d[os.getpid()]=os.getpid()
    l.append(os.getpid())
   print(l)


if__name__ =='__main__':
   withManager()asmanager:#
       
d = manager.dict()#父进程生成一个字典 多个进程之间可共享的字典

       
l = manager.list(range(5))#父进程生成一个列表 多个进程之间可以共享的列表 默认有5个数据
       
p_list = []#用于多个进程join
       
foriinrange(10):
            p = Process(target=f,args=(d, l))
            p.start()#开启10个子进程
           
p_list.append(p)
       forresinp_list:#等待每个子进程结果
           
res.join()

       print(d)
       print(l)

本文标题:多进程_父进程子进程数据传递共享
标题路径:http://bjjierui.cn/article/piisdh.html

其他资讯