想问一下多线程/线程池能不能使用队列(Queue)进行通信?

想问一下多线程/线程池能不能使用队列(Queue)进行通信?

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学,你好!

​多线程/线程池是可以使用队列(Queue)进行通信,祝学习愉快~

  • 坻屿 提问者 #1

    可不可以写一下具体的在多线程/线程池中使用队列的代码呢?

    2021-08-15 16:38:04
  • 好帮手慕凡 回复 提问者 坻屿 #2

    同学,你好!

    可以参考以下代码,思考队列在在多线程中的使用:

    1
    import threading,time<br>import queue<br>#创建队列最大长度为10<br>q = queue.Queue(maxsize=50)<br>#创建生产者<br>def Producer(name):<br>    count = 1<br>    while True:<br>        #把生产的骨头放入队列<br>        q.put('骨头%s' % count)<br>        print('%s生产了骨头'%name, count)<br>        count += 1<br>        time.sleep(1)<br>#创建消耗者<br>def Consumer(name):<br>    while True:<br>        #取出骨头吃掉<br>        print('[%s] 取到[%s] 并且吃了它...'%(name,q.get()))<br>        time.sleep(1)<br>#创建线程<br>p = threading.Thread(target=Producer,args=('慕慕',))<br>c = threading.Thread(target=Consumer,args=('大黄',))<br>c1 = threading.Thread(target=Consumer,args=('大黑',))<br>#开启线程<br>c.start()<br>c1.start()<br>p.start()<br>

    祝学习愉快~

    2021-08-15 17:22:47
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师
插入代码