前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python笔记:阻塞队列

python笔记:阻塞队列

作者头像
超级大猪
发布2019-11-22 09:41:41
2.3K0
发布2019-11-22 09:41:41
举报
文章被收录于专栏:大猪的笔记

在python中,提供了线程安全的阻塞队列queue。这使得对信号量的需求降低了不少。能很简单的实现生产消费者模式。

下面是一个例子,实现两个阻塞队列,并且对它们同时进行监听取数据。

代码语言:javascript
复制
import queue
from multiprocessing.dummy import Pool as ThreadPool
import time

q1 = queue.Queue(maxsize=0)
q2 = queue.Queue(maxsize=0)

combine = queue.Queue(maxsize=0)

def monitor(q):
    while True:
        combine.put((q,q.get()))

def test_insert():
    for i in range(10):
        q1.put(i)
        time.sleep(0.1)
        q2.put(i)

p = ThreadPool(4)
p.apply_async(monitor, (q1,))
p.apply_async(monitor, (q2,))
p.apply_async(test_insert)


while True:
    temp_q, temp_data = combine.get()
    print(temp_q, temp_data)
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016-10-29 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档