1 import queue
2 import threading
3 import time
4
5
6 q = queue.Queue(5)#对生成的类对象指定最多可容纳元素
7 q.empty()#判断队列元素个数是否为0
8
9 def q_q ():
10 '''queue的基本函数使用'''
11 for x in range(1,10):
12 q.put(x*10)
13 #先进先出,第一个放进去的是10,第一个出来的也是10
14 if q.full():
15 print("队列满了")
16 for x in range(q.qsize()):
17 print(q.get())
18 break
19
20
21 class q_qq(queue.Queue):
22 '''
23 get() 和 put() 方法中的block参数
24 get中队列空了,会阻塞线程进行
25 put中队列满了了,会阻塞线程进行
26 '''
27 # def __init__(self,q):
28 # self.q = q
29 def get_value(self):
30 while 1:
31 print(q.get())
32 def put_value(self):
33 inde = 0
34 while 1 :
35 q.put(inde)
36 inde += 1
37 time.sleep(0.5)
38
39
40 def main():
41 q = q_qq(7)
42 t1 = threading.Thread(target = q.put_value)
43 t2 = threading.Thread(target = q.get_value)
44 t1.start()
45 t2.start()
46
47 if __name__ == '__main__':
48 main()