#!/usr/bin/env python
#!coding=utf-8
import multiprocessing ,time
def consumer(input_q):
while True:
item = input_q.get()
#处理项目
print item
#发出信号,通知任务完成了
input_q.task_done()
def producer(sequence, output_q):
for item in sequence:
#将项目放入队列
output_q.put(item)
# 建立进程
if __name__ == "__main__":
q = multiprocessing.JoinableQueue()
#运行使用者进程
cons_p = multiprocessing.Process(target=consumer, args=(q,))
cons_p.daemon=True
cons_p.start()
cons_p2 = multiprocessing.Process(target=consumer, args=(q,))
cons_p2.daemon=True
cons_p2.start()
#生产项目,sequence 代表发送给使用者的项目序列
sequence = [1,2,3,4,5]
producer(sequence,q)
#生产者使用此方法进行阻塞,直到队列中的所有项目均被处理。阻塞到将持续为队列中的
#每个项目均调用task_done()方法。
q.join()
time.sleep(5)