multiprocessing中的queue死锁的问题

from multiprocessing import Queue, Process


def add_result(queue):

queue.put(1)


if __name__ == '__main__':

#这里创建10个进程来处理

queue = Queue()

for i in xrange(20):

processes = []

for i in xrange(10):

p = Process(target=add_result, args=(queue,))

processes.append(p)

for p in processes:

p.join()


上述代码示例如果在多进程的情况下多次执行就会造成死锁,如果queue的个数小于40的话,好像就没问题,目前暂定为是Queue的个数不能太多,否则会造成死锁的情况。

你可能感兴趣的:(python)