欢迎光临
我们一直在努力

python中的Queue怎么通信

这篇文章主要介绍了python中的Queue怎么通信的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇python中的Queue怎么通信文章都会有所收获,下面我们一起来看看吧。

说明

1、Queue可以使用multiprocessing模块实现多过程间的数据传输。

2、Queue本身就是一个消息队列程序。

当Queue()对象初始化时(例如:q=Queue()),如果括号中没有指定可接收信息的数量,或者数量为负值,则表示可接收信息的数量没有上限直到内存结束。

实例

from multiprocessing import Queue
 
 
def queue_test():
    q = Queue(3) #初始化一个Queue对象,最多可接收三条put消息
    q.put("消息1")
    q.put("消息2")
    print(q.full()) #False
    q.put("消息3")
    print(q.full()) #True
 
 
    #因为消息列队已满下面的try都会抛出异常,第一个try会等待2秒后再抛出异常,第二个Try会立刻抛出异常
    try:
        q.put("消息4",True,2)
    except:
        print("消息列队已满,现有消息数量:%s"%q.qsize())
 
    try:
        q.put_nowait("消息4")
    except:
        print("消息列队已满,现有消息数量:%s"%q.qsize())
 
 
    #推荐的方式,先判断消息列队是否已满,再写入
    if not q.full():
        q.put_nowait("消息4")
 
 
    #读取消息时,先判断消息列队是否为空,再读取
    if not q.empty():
        for i in range(q.qsize()):
            print(q.get_nowait())
        
        
def main():
    queue_test()
    
 
if __name__ == "__main__"
main()

关于“python中的Queue怎么通信”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“python中的Queue怎么通信”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注云搜网行业资讯频道。

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。