python-queue知识点

此页面是否是列表页或首页?未找到合适正文内容。

python-queue知识点

标签:namedict对象join()evequeue类构造方法data调用

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()

python-queue知识点

标签:namedict对象join()evequeue类构造方法data调用

原文地址:http://www.cnblogs.com/python3-study/p/6774276.html

作者: 库巴司机

为您推荐

返回顶部