Multithreading 检测python多处理错误
我正在尝试使用Multithreading 检测python多处理错误,multithreading,python-3.x,unit-testing,Multithreading,Python 3.x,Unit Testing,我正在尝试使用concurrent.futures.ProcessPoolExecutor()在不同的线程中运行一些任务(在Windows上,如果需要的话)。我得到了一个错误: Traceback (most recent call last): File "C:\Users\Matthew\Anaconda3\lib\multiprocessing\queues.py", line 241, in _feed obj = _ForkingPickler.dumps(obj) F
concurrent.futures.ProcessPoolExecutor()
在不同的线程中运行一些任务(在Windows上,如果需要的话)。我得到了一个错误:
Traceback (most recent call last):
File "C:\Users\Matthew\Anaconda3\lib\multiprocessing\queues.py", line 241, in _feed
obj = _ForkingPickler.dumps(obj)
File "C:\Users\Matthew\Anaconda3\lib\multiprocessing\reduction.py", line 51, in dumps
cls(buf, protocol).dump(obj)
AttributeError: Can't pickle local object '_RunnerThread._make_new_task.<locals>.<lambda>'
如果运行此命令,将得到一个堆栈跟踪打印到stderr,但脚本本身将永远运行。我想指出错误…是否可以解释投票为什么要结束?是否可以解释投票为什么要结束?
import concurrent.futures
def func():
return 5
if __name__ == "__main__":
with concurrent.futures.ProcessPoolExecutor() as executor:
futures = [executor.submit(lambda : func())]
for result in concurrent.futures.as_completed(futures):
print(result.result())