python - 带有进程和错误的多处理:TypeError: can't pickle _thread.lock objects
问题描述
我只是无法进一步解决问题,我不明白为什么。我做多处理,这在一个小例子中也很有效。但是当我将它构建到“大”代码中时,它就不再起作用了。也许有人可以“更容易”地向我解释这个错误,或者告诉我我做错了什么?
Blabla Errorlog...
...
File "C:\Users\XXX\eclipse-workspace\ADAScarfs_v1.4\fem\_ModelGenerator.py", line 333, in _generateNodeObj
nodesAdh.start()
File "C:\Anaconda3\lib\multiprocessing\process.py", line 105, in start
self._popen = self._Popen(self)
File "C:\Anaconda3\lib\multiprocessing\context.py", line 223, in _Popen
return _default_context.get_context().Process._Popen(process_obj)
File "C:\Anaconda3\lib\multiprocessing\context.py", line 322, in _Popen
return Popen(process_obj)
File "C:\Anaconda3\lib\multiprocessing\popen_spawn_win32.py", line 65, in __init__
reduction.dump(process_obj, to_child)
File "C:\Anaconda3\lib\multiprocessing\reduction.py", line 60, in dump
ForkingPickler(file, protocol).dump(obj)
TypeError: can't pickle _thread.lock objects
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "C:\Anaconda3\lib\multiprocessing\spawn.py", line 105, in spawn_main
exitcode = _main(fd)
File "C:\Anaconda3\lib\multiprocessing\spawn.py", line 115, in _main
self = reduction.pickle.load(from_parent)
EOFError: Ran out of input
发生错误的代码:
nodesAdh = multiprocessing.Process(target=myScarfMeshR3D.generateAdhesiveNodesObject, args=(_sectionAdh,))
nodesAdh.start()
解决方案
推荐阅读
- mysql - 使用子查询更快地进行查询
- javascript - 将jquery Datatable数据发送到php
- visual-studio - NMake - 干净构建/重建的“干净命令行”属性
- winapi - TextOutW 在屏幕和打印机上的显示不同
- javafx - JavaFX 打印机页面(布局,节点)不打印 TextFlow
- excel - 如何使用文档搜索文件名中的关键字
- sudoku - 数独 np 完整吗?
- macos - 无法在 macOS 10.12 上编译 Rust 代码:目标文件是为更新的 OSX 版本 (10.7) 而不是链接 (8.0) 构建的
- wordpress - 如何从 woocommerce 店面主题中删除分页
- neural-network - 如果我一起标准化整个数据集可以吗?