python-queue知识点

1.dict获取value
dict.get(key_name)
2.三元运算

res,err=stdout.read(),stderr.read() #三元运算
result=res if res else err
print(result.decode())
36:10

知识回顾:
1.执行一个线程,如何获取结果?
2.event
event.set() #green_light=ture
event.wait() #等待set方法执行
event.clear() #green_light=false
3.assert 断言

问题:

1.python进程与线程的区别

2.GIL的作用:防止底层原生C程序在同一时刻修改同一份数据 (GIL 表示全局解释器锁)
3.setdaemon

queue类:

LIFO:last in first out
queue.LifoQueue(maxsize=0) maxsize参数用于设置最大上限值,maxsize<=0表示无穷大
FIFO:First in first out
queue.Queue(maxsize=0) maxsize参数用于设置最大上限值,maxsize<=0表示无穷大

queue.PriorityQueue(maxsize=0) 优先级队列构造方法
The lowest valued entries are retrieved first (the lowest valued entry is the one returned by sorted(list(entries))[0]). A typical pattern for entries is a tuple in the form: (priority_number, data).

queue.Empty :用于判断队列中的对象是否为空,如果是空,调用get 或 get_nowait() 方法将引发异常。

queue.Full :用于判断队列中的对象是否已塞满,如果full,调用put 或 put_nowait()方法将引发异常。

queue object方法
Queue.qsize():返回队列的近似大小,qsize>0不会保证后续的get()不会阻塞,qsize<maxsize不会保证后续的put()不会阻塞。

Queue.empty():队列为空,返回True,否则返回false。如果返回True,不会保证后续的get()不会阻塞。同理,如果返回False,不会保证后续的put()不会阻塞。

Queue.full():队列为full,返回True,否则返回false.如果返回True,不会确保后续的get()不会阻塞。同理,如果返回False,不会确保put()不会阻塞。

Queue.put(item,block=True,timeout=None): 向队列中传入值,如果block为True,则在必要时阻塞,直到队列中有空闲插槽可用。timeout用于设置超时时间。

Queue.put_nowait(item): 相当于put(item,False)

Queue.get(block=True,timeout=None):从队列中移除并返回一个项目

Queue.get_nowait() :相当于get(False)

支持跟踪守护线程是否完全处理入队任务:
Queue.task_done()
Queue.join()

时间: 2024-10-09 01:10:27

python-queue知识点的相关文章

Python Queue模块

创建一个"队列"对象 import Queuemyqueue = Queue.Queue(maxsize = 10) Queue.Queue类即是一个队列的同步实现.队列长度可为无限或者有限.可通过Queue的构造函数的可选参数maxsize来设定队列长度.如果maxsize小于1就表示队列长度无限. 将一个值放入队列中 myqueue.put(10) 调用队列对象的put()方法在队尾插入一个项目.put()有两个参数,第一个item为必需的,为插入项目的值:第二个block为可选参

python 异常知识点

raise from python 在3.0 之后引入了raise from 表达式: raise exception from otherexception 当使用该语法时,第二个表达式指定了另一个异常类或实例,它会附加到引发异常的__cause__属性 注意: python3.0不再支持raise Exc,Args形式,而该形式在Python2.6中仍然可用,在Python3.0中,使用 raise Exc(Args)调用. with  as with语句格式: with expressio

python Queue模块使用

Python中,队列是线程间最常用的交换数据的形式.Queue模块是提供队列操作的模块,虽然简单易用,但是不小心的话,还是会出现一些意外. 创建一个"队列"对象import Queueq = Queue.Queue(maxsize = 10)Queue.Queue类即是一个队列的同步实现.队列长度可为无限或者有限.可通过Queue的构造函数的可选参数maxsize来设定队列长度.如果maxsize小于1就表示队列长度无限. 将一个值放入队列中q.put(10)    put(item[

python Django知识点总结

python Django知识点总结 一.Django创建项目: CMD 终端:Django_admin startproject sitename(文件名) 其他常用命令: 其他常用命令: 通过类创建表--python manage.py makemigrations --python manage.py migrate 其他命令: python manage.py runserver 0.0.0.0 python manage.py stratapp appname python manag

Python Queue实现生产与消费

Python Queue模块详解 from:https://blog.linuxeye.com/334.html Python中,队列是线程间最常用的交换数据的形式.Queue模块是提供队列操作的模块,虽然简单易用,但是不小心的话,还是会出现一些意外. 创建一个“队列”对象import Queueq = Queue.Queue(maxsize = 10)Queue.Queue类即是一个队列的同步实现.队列长度可为无限或者有限.可通过Queue的构造函数的可选参数maxsize来设定队列长度.如果

python 类知识点总结

python 类知识点总结 面向对象思想: 1.设计的时候,一定要明确应用场景 2.由对象分析定义类的时候,找不到共同特征和技能不用强求 1.简述类.对象.实例化.实例这些名词的含义: 类:从一组对象中提取对象共同的特征和属性,构成一个类. 对象:具有数据属性和函数属性的集合体 实例化:由类生成一个对象的方法,就是实例化 实例:类的实例化就会产生一个实例(对象) 类: 对象就是类的抽象 类实例成对象的过程就是实例化 实例就是对象 2.面向对象的三大特性是什么? 继承,多态,封装 3.什么是方法?

十分钟的Python代码知识点总结

#-- 寻求帮助:dir(obj) # 简单的列出对象obj所包含的方法名称,返回一个字符串列表help(obj.func) # 查询obj.func的具体介绍和用法 #-- 测试类型的三种方法,推荐第三种if type(L) == type([]):print("L is list")if type(L) == list:print("L is list")if isinstance(L, list):print("L is list") #-

python 基础知识点

Python介绍及发展史 Python 2 or 3 区别 安装和第一个Hello World程序 变量 用户交互 模块初识 .pyc文件是什么? 数据类型初识 数据运算 表达式if......else语句 表达式for循环 break and continue区别及用法 表达式while循环 入门知识拾遗 列表.元组操作 字符串操作 字典操作 文件操作 字符编码与转码 函数的基本语法及特性 参数与局部变量 返回值 嵌套函数 递归 匿名函数 函数式编程介绍 高阶函数 内置函数 迭代器&生成器 装

python重要知识点(不断更新)

Python简洁优雅,库丰富而强大,特别是在数据分析领域,有着重要的地位. 下面是我学习中总结的一些重要,容易忘记的知识点 一.Python是如何进行内存管理的? 先说明一点,Python每创建一个对象,这个对象都是一个三元组(标识,类型,值).当我们调用一个对象时一般是按引用传递, 有必要时才按值传递.(按引用不新建对象,按值则会新建对象) 1.引用计数机制 创建对象后,每分配一个名称或将对象放入一个容器时,该对象的引用计数都会增加: 每del一个名称或者引用超出作用域或者被重新赋值时,该对象

Python基础知识点整理1

变量 = 数据 ,Python将数据赋值给变量,通过变量间的运算实现数据处理. Python是一种弱类型语言,不需要声明变量,也不需要指定类型! 关于Python的变量: 对一个变量A赋值为1,那么变量类型为整数:再次赋值为2.1,则变量类型变为浮点型.变量的类型是由赋值给它的数据决定的,这种特殊的实现是由于Python特有的变量回收机制决定的. Python变量回收机制: 对一个变量赋值,变量指向赋值的那个数所在的内存地址:当赋值改变时,变量的地址发生变化,在一段时间内,原来的数据没有变量引用