大家, 我在多处理中有一个关于队列的问题:
我使用Queue与多个进程交换数据,放置两个进程并获得一个进程。但我发现:
当queue.qsize()不为0但queue.empty()为True时。而且queue.get()也在等待。
如果queue.get()正在等待,则在其他进程中使用queue.put()。
代码:
from multiprocessing import Queue
train_queue = Queue(maxsize = 50000)
****
**** Other Module
****
if train_queue.empty() == True:
print "***** ", i, " **** queue is empty"
print "***** queue.get, train_queue.qsize: ", train_queue.qsize()
ti = time.time()
LOG:
***** 10 **** queue is empty
***** queue.get, train_queue.qsize: 512
***** 102 **** queue is empty
***** queue.get, train_queue.qsize: 1233
***** 189 **** queue is empty
***** queue.get, train_queue.qsize: 1865