使用多处理队列,池和锁定的简单示例
我试图阅读http://docs.python.org/dev/library/multiprocessing.html上的文档,但是我仍然在多处理队列,池和锁定方面苦苦挣扎。现在,我能够构建以下示例。 关于队列和池,我不确定我是否以正确的方式理解了这个概念,如果我错了,请纠正我。我想要实现的是一次处理2个请求(此示例中的数据列表中有8个),那么我应该使用什么呢?池中创建2个可以处理两个不同队列的进程(最大2个),还是应该每次仅使用Queue处理2个输入?锁定将是正确打印输出。 import multiprocessing import time data = (['a', '2'], ['b', '4'], ['c', '6'], ['d', '8'], ['e', '1'], ['f', '3'], ['g', '5'], ['h', '7'] ) def mp_handler(var1): for indata in var1: p = multiprocessing.Process(target=mp_worker, args=(indata[0], indata[1])) p.start() def mp_worker(inputs, the_time): print " Processs %s\tWaiting %s seconds" % (inputs, the_time) time.sleep(int(the_time)) …