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('拿多啦')