代码是想用multiprocessing做多进程的变量共享

代码如下:

from multiprocessing import Process, Manager
from multiprocessing import queues
# 每个子进程执行的函数
# 参数中,传递了一个用于多进程之间数据共享的特殊字典
f = codecs.open("exceptionFile.o", "a", "utf-8")def func1(d,q, f,s):print(d)f.write("11\n")d['k3']= 'k3's.add('33')print('11' in s)def func2(d,q, f,s):print(d)f.write("11\n")print('33' in s)q = queues.Queue(1000)
for j in range(1000):q.put(j)# 在主进程中创建特殊字典
m = Manager()
d = m.dict()
s = set()
s.add('11')
d['k1'] = 'k1'
d['k2'] = 3
p1 = Process(target=func1, args=(d,q,f,s))
p1.start()p2 = Process(target=func2, args=(d,q,f,s))
p2.start()

报了如下错误:

<DictProxy object, typeid 'dict' at 0x7f578c642bd0; '__str__()' failed>
Process Process-2:
Traceback (most recent call last):File "/usr/local/lib/python2.7/multiprocessing/process.py", line 258, in _bootstrap
<DictProxy object, typeid 'dict' at 0x7f578c642bd0; '__str__()' failed>
Falseself.run()File "/usr/local/lib/python2.7/multiprocessing/process.py", line 114, in runself._target(*self._args, **self._kwargs)File "test.py", line 12, in func1d['k3']= 'k3'File "<string>", line 2, in __setitem__File "/usr/local/lib/python2.7/multiprocessing/managers.py", line 755, in _callmethodself._connect()File "/usr/local/lib/python2.7/multiprocessing/managers.py", line 742, in _connectconn = self._Client(self._token.address, authkey=self._authkey)File "/usr/local/lib/python2.7/multiprocessing/connection.py", line 169, in Clientc = SocketClient(address)File "/usr/local/lib/python2.7/multiprocessing/connection.py", line 308, in SocketClients.connect(address)File "/usr/local/lib/python2.7/socket.py", line 228, in methreturn getattr(self._sock,name)(*args)
error: [Errno 2] No such file or directory

错误原因: 主进程已经退出

解决办法: 在代码的最后加上如下两句:

p1.join()
p2.join()

这表示主进程要等待p1和p2进程执行完了再继续执行

使用multiprocessing时的DictProxy object, typeid 'dict' at ; '__str__()' failed相关推荐

  1. 在verp设置parent和child关系时,child object没有随着parent object变化的情况

    在verp中发现,设置parent和child关系时,child object没有随着parent object变化的情况: pickTarget=sim.getObjectHandle('pickT ...

  2. flash文本呈现html啥意思,显示flash内容时用的OBJECT和EMBED标签区别介绍

    显示flash内容时用的OBJECT和EMBED标签区别介绍 发布时间:2014-05-13 18:03:29   作者:佚名   我要评论 要在网页中正常显示flash内容,那么页面中必须要有指定f ...

  3. Python3 初学实践案例(10)对象转字典 object to dict

    Python3 初学实践案例(10)对象转字典 object to dict 我在写代码的时候遇到一个问题,就是 sqlalchemy 从数据库中查的的结果是一个对象,我虽然可以直接把这个对象用 x. ...

  4. pandas read_json时ValueError: Expected object or value的解决方案

      大家好,我是herosunly.985院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用.曾获得阿里云天池比赛第一名,科大讯飞比赛第三名,CCF比赛第四名.拥有多项发明专利.对机器学 ...

  5. Mac安装truffle框架时出现✓ Preparing to download box ✖ Downloading Unbox failed! Error: connect的解决方法

    Mac安装truffle框架时出现✓ Preparing to download box ✖ Downloading Unbox failed! Error: connect的解决方法 https:/ ...

  6. [UE4]android打包时,设备上弹出错误:Failed to open descriptor file uproject

    UE4以shipping模式在android设备上Launcher时,游戏启动时会提示错误: Failed to open descriptor file uproject 网上查了下,UE官方论坛上 ...

  7. 预测数据时数据类型是object导致报错TypeError: unsupported operand type(s) for -: ‘str‘ and ‘float‘

    解决方法 更换数据类型: data:pd.DataFrame = data.astype('int64') # 或是: data:pd.DataFrame = data.astype('float') ...

  8. 使用Spring JDBC时遇到的Software caused connection abort: recv failed问题

    在使用Spring jdbc连接数据库时遇到一个头疼的问题:程序启动以后,如果长时间不访问调用,当再次调用时会报错: 引用 org.springframework.dao.DataAccessReso ...

  9. 使用 yarn 安装时,报错node_modules\node sass:Command failed.

    npm install -g mirror-config-china --registry=http://registry.npm.taobao.org npm install node-sass y ...

最新文章

  1. 改善深度学习训练的trick总结 | CSDN博文精选
  2. R语言_高级数据管理
  3. jQuery 插件---hotkeys快捷键(热键).
  4. leetcode算法题--0~n-1中缺失的数字
  5. 湖北沙洋中学2021年6月高考成绩查询,2021年荆门中考分数线公布填报志愿时间及录取结果什么时候出...
  6. matlab按某一列排序
  7. Java字符串indexOf(int ch,int fromIndex)方法,带示例
  8. 微信公众平台开发(150)——从新浪云SAE上传图片到图文消息
  9. 搭配android环境,Android Studio环境搭配所用到的工具和配置
  10. ARouter 源码历险记 (二)
  11. 装饰者模式(C#)实现
  12. GPRS网络总体结构
  13. 怎么获取jquery版本_获取jQuery版本
  14. Excel Video Game Sales视频游戏销售分析
  15. google搜索自己博客文章小记
  16. Google的图片处理库和条码处理库、汉字转拼音库
  17. 唐巧总结的40个国人iOS技术博客
  18. 你不能只会flex居中布局,精制动画讲解所有flex布局方式,通俗易懂教程
  19. android界面UI美化:沉浸模式、全透明或半透明状态栏及导航栏的实现
  20. esp8266设置sta失败_ESP8266 – ESP8266WiFiSTA库 – disconnect

热门文章

  1. HBase 学习(三) JavaAPI的使用
  2. Linux之python3编译安装
  3. TCP/UDP通信解疑
  4. 【BZOJ3132】【TYVJ1716】上帝造题的七分钟 二维树状数组
  5. SQL Server 2005 安装后,没有Management Studio管理工具的解决办法
  6. Alibaba代码规约插件使用IDEA
  7. 接口测试和性能测试的区别
  8. 软件测试—软件测试基础知识—(五)软件测试模型
  9. 06-10 Jenkins 配置 allure 报告
  10. linux删除文件夹命令6,Linux下创建、删除文件和文件夹命令