线程队列

线程队列就是一个普通的容器,使用import queue,用法与进程Queue一样

先进先出

from queue import Queueq = Queue()
q.put(2)
q.put('a')
q.put((2, 1))print(q.get())  # 2
print(q.get())  # 'a'
print(q.get())  # (2, 1)

后进先出:用于模拟栈这种容器

from queue import LifoQueueq = LifoQueue()
q.put(2)
q.put('a')
q.put((2, 1))print(q.get())  # (2, 1)
print(q.get())  # 'a'
print(q.get())  # 2

存储数据时可设置优先级

from queue import PriorityQueueq = PriorityQueue()
q.put(2)
q.put(3)
q.put(1)# 取出数据时会比较大小,越小的优先级越高
print(q.get())  # 1
print(q.get())  # 2
print(q.get())  # 3
--------------------------------------------------------------------------------# 自定义设置优先级
from queue import PriorityQueueclass Person:def __init__(self, name, age):self.name = nameself.age = age# 覆盖比较运算符,当两个对象之间使用比较运算符时,会自动执行该方法def __lt__(self, other):# 当两对象年龄相等时,比较名字,否则年龄小的先出if self.age == other.age:return self.name < other.namereturn self.age < other.agep1 = Person('nick', 18)
p2 = Person('tank', 17)
p3 = Person('jerry', 17)
q = PriorityQueue()
q.put(p1)
q.put(p2)
q.put(p3)
print(q.get().name)  # jerry
print(q.get().name)  # tank
print(q.get().name)  # nick

转载于:https://www.cnblogs.com/863652104kai/p/11151622.html

day33-1 线程队列相关推荐

  1. Python 线程----线程方法,线程事件,线程队列,线程池,GIL锁,协程,Greenlet

    主要内容: 线程的一些其他方法 线程事件 线程队列 线程池 GIL锁 协程 Greenlet Gevent 一. 线程(threading)的一些其他方法 from threading import ...

  2. 异步同步、阻塞非阻塞、异步回调、线程队列和协程

    今天学习了异步同步.阻塞非阻塞.异步回调.线程队列和协程 一.异步同步和阻塞非阻塞 线程的三种状态: 1.就绪 2.运行 3.阻塞 阻塞:遇到了IO操作  代码卡住  无法执行下一行  CPU会切换到 ...

  3. 线程队列 线程池 协程

    1 . 线程队列 from multiprocessing Queue , JoinableQueue  #进程IPC队列 from queue import Queue  #线程队列  先进先出 f ...

  4. python多线程队列和池_Python3 从零单排28_线程队列进程池线程池

    1.线程队列 线程队列有三种:先进先出,后进先出,按优先级进出,具体如下: 1 importqueue2 3 #先进先出 4 q = queue.Queue(3)5 6 q.put(1)7 q.put ...

  5. 线程队列,线程池和协程

    线程的其他方法: threading.current_thread() #当前线程对象 getName() # 获取线程名 ident  # 获取线程id    threading.enumerate ...

  6. python多线程为什么要用队列_Python程序中的线程操作-线程队列

    一.线程队列 queue队列:使用import queue,用法与进程Queue一样 queue is especially useful in threaded programming when i ...

  7. Tensorflow线程队列与IO操作

    目录 Tensorflow线程队列与IO操作 1 线程和队列 1.1 前言 1.2 队列 1.3 队列管理器 1.4 线程协调器 2 文件读取 2.1 流程 2.2 文件读取API: 3 图像读取 3 ...

  8. python锁机制_python基础(锁机制,守护线程,线程队列,线程池)

    一. 互斥锁(Lock)与递归锁(RLock)机制 1.1 由互斥锁(Lock)产生的死锁现象: #互斥锁(死锁现象): #死锁现象: from threading importLock lock=L ...

  9. Python 线程队列 LifoQueue – LIFO - Python零基础入门教程

    目录 一.Python 线程队列 Queue 分类 二.Python 线程先进后出队列 LifoQueue 简介 三.Python 线程先进后出队列 LifoQueue 函数介绍 四.Python 线 ...

最新文章

  1. linux date时间戳互相转换
  2. AtomicInteger原子性
  3. 贵州师范学院数学与计算机科学,贵州师范学院数学与计算机科学学院
  4. 英特尔Nehalem微架构三级缓存原理学习
  5. pythonturtle库使用心得_记录我的Python学习之旅(一)关于turtle库的基本用法
  6. mysql 分表索引_mysql中,分表查询和索引查询哪个更快?
  7. java divide 用法_java中BigDecimal加减乘除基本用法
  8. 自反馈与 Mandelbrot set
  9. 软件实施工程师到底是干什么的?全方位介绍实施工程师的职责要求和发展前景
  10. 单片机c51语言考试试题,51单片机基础知识试题题库(考试用含答案)
  11. php制作600行表格,表格排版的基本操作
  12. 笔记本外接显示器教程级后续使用技巧
  13. PHP面向对象开发:类成员的相关知识
  14. CSS 用图片实现圆角方框(一张图片吆)
  15. 【建模算法】基于遗传算法求解TSP问题(matlab求解)
  16. 如何理解GPU中的SIMT(单指令流多线程模型)
  17. 基于java的银行信用卡业务系统
  18. 数据结构判断题30道含答案
  19. 涨薪神作,阿里内部火爆的实战文档和搭建项目笔记,你还怕没有项目可做吗
  20. Java 通过EasyExcel导出的Excel文档的字体,背景色,自动列宽等符合要求

热门文章

  1. 天猫服务系统的架构和经验
  2. java学习(32):巩固练习
  3. STM32F407控制AD7606 采用HAL库的TIM和SPI
  4. GB/T 17626 电磁兼容 试验和测量技术系列标准【归纳】
  5. plsql连接oracle11g怎么配置,怎么使用plsql怎么连接64位Oracle11g数据库?
  6. CSS之Multi-columns的跨列
  7. C++知识总结(1)--变量和基本类型
  8. vscode调试angular2
  9. GO语言-基础语法:条件判断
  10. 【教训】rm -fr ./* 教训