python - 多处理 pickle.load() :: EOFError - 输入不足
问题描述
我有一个问题,我正在运行一个 CPU 繁重的多处理任务,该任务读取和写入一个 pickle 文件以避免在同一输入上运行计算。
我有一个用于文件写入功能的队列[未显示],但不是用于读取功能。大多数时候,当我运行多进程时,我会收到“EOFError - 输入不足”异常。我最好的猜测是两个进程试图同时读取文件(通过pickle_read)。
def pickle_read(category):
with open("completed_search.txt", "rb") as pickle_set:
try:
return pickle.load(pickle_set)[category]
except EOFError as e:
handle_error(e)
if reg in pickle_read('region'):
continue
如何在满足条件(即不返回 NoneType)的同时对进程进行排队以允许同步读取?
解决方案
推荐阅读
- java - 使用 OnboardingSupportFragment 时内容重叠
- python - How to union traces names on Plotly
- python - Python 3.8 numpy 数组减法
- python - 具有 L1 正则化逻辑回归的 Sklearn SelectFromModel
- javascript - 如何在脚本标签vue js中渲染html
- jenkins - 如何在詹金斯管道脚本中获取凭证对象的描述
- angular - 在 Microsoft Edge 浏览器中未发现承诺错误
- amazon-web-services - aws-sdk-go 错误:RequestError:发送请求失败:x509:证书由未知机构签名”
- xslt - 是否有仅获取这些值的 xpath
- node.js - 共享 node-redis 连接 nodejs