码迷,mamicode.com
首页 > 编程语言 > 详细

python-queue知识点

时间:2017-04-27 15:37:59      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:name   dict   对象   join()   eve   queue类   构造方法   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知识点

标签:name   dict   对象   join()   eve   queue类   构造方法   data   调用   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!