【发布时间】:2012-12-17 15:43:22
【问题描述】:
当我使用 multiprocessing.Queue.get 时,有时由于 EINTR 会出现异常。
我肯定知道有时这种情况会无缘无故地发生(我在 tmux 缓冲区中打开另一个窗格),在这种情况下,我想继续工作并重试该操作。
我可以想象,在某些其他情况下,错误是有充分理由的,我应该停止运行或修复一些错误。
如何区分两者?
提前致谢
【问题讨论】:
-
你应该确保队列在
get之前不为空:if not queue.empty(): queue.get() -
我相信如果队列是空的,它只会阻塞调用。不会吗?在任何我不认为这是错误的原因。
标签: python error-handling queue multiprocessing ioerror