多进程下使用Queue队列报错

原项目在未加入多进程模块的情况下,queue模块导入生成的队列能正常使用。
但是加入多进程后,执行报错 TypeError: can't pickle _thread.lock objects

网上查阅资料:

  • from queue import Queue 修改为 from multiprocessing import Queue 即可修复该bug。
  • 多进程模块中的队列Queue的使用方法与queue中的使用方法一致Queue

bug原因:

  • 在多进程模式下,queue模块的队列,数据无法在多个进程之间共享。
  • multiprocessing模块的队列,可以在多进程之间共享同一个变量的数据

你可能感兴趣的:(多进程下使用Queue队列报错)