Python 多进程(二度回顾)
from multiprocessing import Process,JoinableQueue
#子进程
def shang_pin_xinxi(q,cont):
while True:
page = q.get()
print("进程:{0}获取了数据{1}".format(cont,page))
q.task_done()
#主进程
def producer(q):
for j in range(20):
q.put(j)
print("{}放入队列".format(j))
q.join()
if __name__ == "__main__":
q = JoinableQueue()
#开启多进程
for i in range(20):
p1 = Process(target=shang_pin, args=(q, i))
p1.daemon = True # 设置为守护进程,在主线程停止时p也停止,但是不用担心,producer内调用q.join保证了consumer已经处理完队列中的所有元素
p1.start()
producer(q)
浙公网安备 33010602011771号