繁体   English   中英

Python多处理和队列

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM