第二十一节 queue线程安全队列
作者:互联网
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()
标签:__,10,get,第二十一,queue,线程,put,def 来源: https://www.cnblogs.com/kogmaw/p/12507051.html