08 队列

from multiprocessing import Process,Queue
q = Queue(3)  #创建一个队列对象,队列长度为3,先进先出
q.put(1)
# print('>>>>>',q.qsize()) #返回当前队列的内容长度
print(q.full())
q.put(2)
# print('>>>>>',q.qsize())
q.put(3)
print(q.full())  #q.full()了解,因为这个东西不可靠,满了返回一个True,不满返回一个False
# print('sss')
# q.put(4)  #放入数据的时候,如果队列满了了,程序会在你put操作的地方阻塞
# try:
#     q.put_nowait(4) #不阻塞程序,但是会报错queue.Full,可以通过捕获异常来进行其他的操作
# except:
#     print('队列满了,玩别的去吧')
# print('xxx')
print(q.get())
print(q.get())
print(q.get())
print('是不是空了呀:',q.empty()) #q.empty()了解,因为这个东西不可靠,空了返回一个True,不空返
# q.put(4)
# print('是不是空了呀:',q.empty())  #True或者False,因为q在put数据的时候,有一个细微的延迟
# 回一个False
# print(q.get())  #如果队列空了,程序会在这个地方卡主,也就是阻塞程序
try:
    q.get_nowait()  #queue.Empty
except:
    print('队列空了,搞得别的事情')
print('拿多啦')

猜你喜欢

转载自www.cnblogs.com/work14/p/10266943.html
08