| 网站首页 | 业界新闻 | 小组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 164 人关注过本帖
标题:使用Manager实现多进程共享变量时,如果在主进程内不使用join(),为什么会报 ...
只看楼主 加入收藏
lxj_0601
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2021-1-27
结帖率:50%
收藏
已结贴  问题点数:6 回复次数:3 
使用Manager实现多进程共享变量时,如果在主进程内不使用join(),为什么会报错?
使用Manager实现多进程共享变量时,如果在主进程内不使用join(),为什么会报错?

from multiprocessing import Process, Manager
def func(my_list, my_dict):
    my_list.append(10)
    my_list.append(11)
    my_dict['a'] = 1
    my_dict['b'] = 2

if __name__ == '__main__':
    manager = Manager()
    my_list = manager.list()
    my_dict = manager.dict()
    ls=[]
    for i in range(0, 2):
       p = Process(target=func,args=(my_list,my_dict))
       p.start()
       ls.append(p)
    # for p in ls:
    #     p.join()
    print(my_list)
搜索更多相关主题的帖子: join Manager 报错 进程 变量 
2021-04-06 11:34
fall_bernana
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:11
帖 子:198
专家分:1787
注 册:2019-8-16
收藏
得分:3 
回复 楼主 lxj_0601
#报 AttributeError: 'ForkAwareLocal' object has no attribute 'connection' 的原因
#运行这段代码时,主进程执行完了,断开了连接,而子进程要连接,此时会报错
#所以可以用join(),让主进程等待子进程的结束
2021-04-06 14:38
sssooosss
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:3
帖 子:238
专家分:594
注 册:2019-8-27
收藏
得分:3 
共同学习
2021-04-12 08:36
asd191155707
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2021-4-17
收藏
得分:0 
共同学习
2021-04-20 15:34
快速回复:使用Manager实现多进程共享变量时,如果在主进程内不使用join(),为什 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.141461 second(s), 8 queries.
Copyright©2004-2021, BCCN.NET, All Rights Reserved