zoukankan      html  css  js  c++  java
  • python多线程编程之Queue——put/get方法

     
     

    python 的 Queue 模块提供了一种适用于多线程编程的 FIFO 实现。它可用于在生产者和消费者之间线程安全地传递消息或其它数据,因此多个线程可以共用同一个 Queue 实例。

    Queue 类实现了一个基本的先进先出(FIFO)容器,使用 put() 将元素添加到序列尾端,get() 从队列尾部移除元素。

    Queue 介绍:

    • queue 是 python 中的标准库,俗称队列,可以直接 import 引用
    • 在 python 中,多个线程之间的数据是共享的,多个线程进行数据交换的时候,不能够保证数据的安全性和一致性,所以当多个线程需要进行数据交换的时候,队列就出现了。队列可以完美解决线程间的数据交换,保证线程间数据的安全性和一致性

    Queue 模块中的常用方法:

    Queue.Queue(maxsize=0)   FIFO, 若是maxsize小于1就表示队列长度无限

    Queue.qsize()   返回队列的大小 

    Queue.empty()   若是队列为空,返回True,反之False 

    Queue.full()   若是队列满了,返回True,反之False

    Queue.get([block, [timeout]])   读队列,timeout为等待时间 

    Queue.put(item, [block, [timeout]])   写队列,timeout为等待时间 

    Queue.queue.clear()   清空队列

    把 Queue 中的所有元素转换为 list:

    # q 为队列
    1
    def get_queue_values(q): 2 ret = [] 3 while True: 4 if q.qsize() > 0: 5 ret.append(q.get()) 6 else: 7 break 8 return ret
  • 相关阅读:
    Daily Scrum 10.24
    Daily Srum 10.22
    TFS的使用
    Daily Srum 10.21
    Scrum Meeting 报告
    团队博客作业Week4 --- 学霸网站--NABC
    团队博客作业Week3 --- 项目选择&&需求疑问
    团队博客作业Week2 --- 学长学姐访谈录
    团队博客作业Week1 --- 团队成员简介
    js将数组中一个或多个字段相同的子元素中合并
  • 原文地址:https://www.cnblogs.com/sunshine-blog/p/14656834.html
Copyright © 2011-2022 走看看