Python——multiprocessing报错:TypeError: cannot pickle ‘_thread.lock‘ object

多进程报错

Traceback (most recent call last):
  File "C:\Users\miaochangbin\PycharmProjects\eduCrawler\main.py", line 138, in <module>
    p.start()
  File "D:\Program Files\python\lib\multiprocessing\process.py", line 121, in start
    self._popen = self._Popen(self)
  File "D:\Program Files\python\lib\multiprocessing\context.py", line 224, in _Popen
    return _default_context.get_context().Process._Popen(process_obj)
  File "D:\Program Files\python\lib\multiprocessing\context.py", line 327, in _Popen
    return Popen(process_obj)
  File "D:\Program Files\python\lib\multiprocessing\popen_spawn_win32.py", line 93, in __init__
    reduction.dump(process_obj, to_child)
  File "D:\Program Files\python\lib\multiprocessing\reduction.py", line 60, in dump
    ForkingPickler(file, protocol).dump(obj)
TypeError: cannot pickle '_thread.lock' object

原因

  • 在启动子进程时,会将所有输入参数经过信息序列化后传递到子进程中,而报错就是在信息进行序列化时候。
  • 而这边信息报错传递子进程的对象信息(属性以及属性的属性)。
  • 因此:说明代码中有类或者对象无法被序列化,但是被传入子进程中,去除对应无法实例化的代码,或者将其放在子进程中初始化即可。

参考文章:

相关推荐

  1. IDEA

    2024-02-23 21:34:02       62 阅读
  2. sqoop运行

    2024-02-23 21:34:02       61 阅读
  3. yarn install

    2024-02-23 21:34:02       54 阅读
  4. 安装Paddlehub

    2024-02-23 21:34:02       62 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-23 21:34:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-23 21:34:02       101 阅读
  3. 在Django里面运行非项目文件

    2024-02-23 21:34:02       82 阅读
  4. Python语言-面向对象

    2024-02-23 21:34:02       91 阅读

热门阅读

  1. html开启严格模式

    2024-02-23 21:34:02       62 阅读
  2. MYSQL--触发器

    2024-02-23 21:34:02       57 阅读
  3. Linux(四)__用户和用户组管理

    2024-02-23 21:34:02       41 阅读
  4. C# 类型的默认值(C# 参考)

    2024-02-23 21:34:02       60 阅读
  5. 【leetcode热题】二叉树展开为链表

    2024-02-23 21:34:02       60 阅读
  6. 服务器丢包的原因及解决方法

    2024-02-23 21:34:02       69 阅读
  7. Oracle执行计划中字段后(+)的意思

    2024-02-23 21:34:02       50 阅读
  8. Flutter 中 Gap 和 SizedBox 的比较与区别

    2024-02-23 21:34:02       53 阅读
  9. 【Rust】——控制流(if-else,循环)

    2024-02-23 21:34:02       55 阅读
  10. LINUX FRP下载编译

    2024-02-23 21:34:02       52 阅读
  11. 接口(一)

    2024-02-23 21:34:02       51 阅读