我在Python3.3中实现多进程代码时遇到问题。特别是,我注意到Queue.empty()方法可以返回True,即使在上一步我们将一些东西放入队列中也是如此。这似乎发生在非常大的物体上。这是我的简单证据:
>>> from multiprocessing import JoinableQueue
>>> queue = JoinableQueue()
>>> large_obj = {key: value for key, value in enumerate(range(40000000))}
>>> queue.put(large_obj)
>>> queue.empty()
True
>>> queue.empty()
False
这种限制通常如何解决?
感谢。