Python 队列 学习笔记

Queue是python标准库中的线程安全的队列(FIFO)实现,提供了一个适用于多线程编程的先进先出的数据结构,即队列,用来在生产者和消费者线程之间的信息传递

基本语法:

queue.Queue(self,maxsize=0)

obj.put(item,block,timeout)来增加线程队列,将item 放入队列,如果block设置为True(默认为True)时,队列满时,调用者将被阻塞,否则抛出异常,timeout 设置阻塞超时

obj.get()来取出线程队列,

obj.objsize():返回队列的大小

obj.full():如果队列满了返回True,否则为False

obj.empty():如果队列为空,返回True,否则为False

import queued = queue.Queue(3) #几个队列,maxsize = 3,最大线程数量

d.put('123') #加入线程
d.put('456')
d.put('789',0)  #0 多了就报错。print(d.get())#取值,是first in,first out,先进先出
print(d.get())
print(d.get())
print(d.get(0)) #0 表示没了值取了就报错

LifoQueue(maxsize): 后进先出的队列模式

PriorityQueue(maxsize): 优先队列模式,使用此队列时,项目应该是(priority,data)的形式

import queue
import threading
import time
from random import randintclass Production(threading.Thread):def run(self):while True:r = randint(0,100)q.put(r)print('生产出来%s号包子' %r)time.sleep(1)class Proces(threading.Thread):def run(self):while True:re = q.get()print('吃掉%s号包子' %re)if __name__ =="__main__":q = queue.Queue(10)threads = [Production(),Production(),Production(),Proces()]for t in threads:t.start()

转载于:https://www.cnblogs.com/rollost/p/10948347.html

【Rollo的Python之路】Python 队列 学习笔记 queue相关推荐

  1. Python基础教程-菜鸟教程学习笔记1

    Python基础教程-菜鸟教程学习笔记1 文章目录 Python基础教程-菜鸟教程学习笔记1 前言 Python 简介 1. 第一个Python程序 2. Python 中文编码 3. 基本语法 1) ...

  2. Python预测 数据分析与算法 学习笔记(特征工程、时间序列)

    微信公众号:数学建模与人工智能 GitHub - QInzhengk/Math-Model-and-Machine-Learning 第3章 探索规律 3.1 相关分析 相关关系是一种与函数关系相区别 ...

  3. Python可视化物理随机过程---pygame学习笔记2

    Python可视化物理随机过程-pygame学习笔记2 文章目录 Python可视化物理随机过程---pygame学习笔记2 一.扩散现象的简单的介绍 二.代码实现 三.运行代码的效果展示 四.总结 ...

  4. 我自学python的路-Python 学习路线(非常适合小白的入门级教程)

    Python python 是什么 python 教程 python3 python 下载 python 安装 python 核心编程 Python 学习路线 前言 我们在学习一门编程语言,最开始拥有 ...

  5. 我自学python的路-Python的学习路经

    本系列Python技术路径中包含 入门知识.Python基础.Web框架.基础项目.网络编程.数据与计算.综合项目.想学习Python的可以加下QQ群:589306326 七个模块.路径中的教程将带你 ...

  6. 我自学python的路-Python学习路线图的总结

    原标题:Python学习路线图的总结 如何学习Python 对于Python学习爱好者来说 一个良好的学习脉络特别重要,可以让学习事半功倍.如果你也是想系统的学习python技术,你可以看看 小编一直 ...

  7. python __name__怎么使用_python学习笔记26(python中__name__的使用)

    在python中,每个py文件都是一个模块,也都是一个可执行文件,即包含main方法.因此,对每个py文件,可以单独运行,也可以import它给其他客户使用,这两种情况不一样. 1. 如果模块是被导入 ...

  8. python运维开发招聘_GitHub - PlutoaCharon/LiunxNotes: 校招-运维开发(Liunx,Python,Golang)面试学习笔记...

    校招-运维开发(Liunx,Python,Golang)面试学习笔记 1. 网络基础类 2. Linux系统管理类 3. Linux服务管理类 4. 数据库管理 ​ 索引(包括分类及优化方式,失效条件 ...

  9. python查看方法作用_python学习笔记1,新手小白也能看得懂

    这是酸菜在风变编程上学习python时积累的学习笔记,希望能帮到同样也在学习中的小伙伴.持续更新~ 第0关 Print()函数 (1)不带引号:让计算机读懂括号里的内容,打印最终的结果 例:print ...

  10. python程序运行键_python学习笔记-python程序运行

    小白初学python,写下自己的一些想法.大神请忽略. 安装python编辑器,并配置环境(见http://www.cnblogs.com/lynn-li/p/5885001.html中 python ...

最新文章

  1. Python学习之路7-函数
  2. Centos7.5虚拟机无法ping通网关、外网IP地址
  3. 分摊、分配、定期重过账
  4. 我们买得起nook,kindle fire可我们买不起书啊
  5. 深入解读RabbitMQ工作原理及简单使用
  6. SpringBoot (14)---使用Redis缓存
  7. 同样是机器学习算法工程师,你的面试为什么过不了?
  8. JAVA图像相似度识别器
  9. 台式计算机的质保期是多少,戴尔台式机保修多长时间
  10. 三种主流芯片架构简单比较
  11. 综述类论文怎么写引言和结语?
  12. 数字图像处理编程入门
  13. python的工具库谁写_python工具库库介绍-bidict: 双向字典
  14. 绑定挂载mount --bind介绍
  15. 【cocos2d-x入门实战】微信飞机大战之一:搞个飞机来玩玩
  16. 麦兜与春田花花幼稚园
  17. [网络安全自学篇] 七十二.逆向分析之OllyDbg动态调试工具(一)基础入门及TraceMe案例分析
  18. IPTV桌面系统建设物料和费用:服务器+软件+电视盒
  19. jwplayer html插件,jw player(网页媒体播放器插件) v2017 最新版
  20. 游戏道具平台|基于Springboot+Vue实现游戏道具平台系统

热门文章

  1. 软工课设第一周周四报告
  2. AppBuilder(二)UseStageMarker
  3. 网页编辑器粘贴word格式的处理
  4. vs2005中文RTM版的代码段管理器
  5. 真倒霉,前不久分區表錯誤把我數據全部搞沒了
  6. Spring - DI循环依赖
  7. Android 逆向流程
  8. libevent参考手册 系列文章
  9. php 修改html编码,PHP将HTML Charset编码弄乱了
  10. Vmware使用net模式共享虚拟机linux IP