Joinablequeue

from multiprocessing import Process,JoinableQueue
import random
import time
def fang(jq,ll):
for i in range(3):
ran=random.randint(1,3)
name=random.choice(ll)
time.sleep(ran)
jq.put(name) #每放一个数据,Joinablequeue的计数器+1
print(f'{name}加入到队中,耗时{ran}秒')
def qu(jq):
while 1:
name=jq.get()
print(f'{name}被踢出了队伍。')
jq.task_done() #每取一个数据,Joinablequeue的计数器-1
if __name__ == '__main__':
ll=['马云','马斯克','小明','马化腾','钟珊珊']
jq = JoinableQueue()
p_fang=Process(target=fang, args=(jq, ll))
p_qu=Process(target=qu, args=(jq,))
p_qu.daemon=1 #守护进程,随主进程一起死
p_fang.start()
p_qu.start()
jq.join() #Joinablequeue队列中没数据时,再执行主进程
p_fang.join()
print('over')
posted @ 2021-01-31 21:47  丑矬穷屌  阅读(131)  评论(0)    收藏  举报