[英]Python Multiprocessing and Queues
我有一个摘自Python Workers and Queues的另一个stackoverflow的代码片段
from multiprocessing import Process
from Queue import Queue
class Worker(Process):
def __init__(self, queue):
super(Worker, self).__init__()
self.queue= queue
def run(self):
print 'Worker started'
# do some initialization here
print 'Computing things!'
for data in iter( self.queue.get, None ):
print(data)
if __name__ == '__main__':
request_queue = Queue()
for i in range(4):
Worker( request_queue ).start()
for data in range(100):
request_queue.put( data )
# Sentinel objects to allow clean shutdown: 1 per worker.
for i in range(4):
request_queue.put( None )
为什么此过程挂起而不处理队列内容?
发现我的错误。 我不知道有两个队列。
改变
from multiprocessing import Process
from Queue import Queue
至
from multiprocessing import Process,Queue
现在我有预期的行为
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.