day38_步入百万年薪的第三十八天——线程queue、事件event、协程
day38 线程queue 多线程抢占资源 只能让其串行——用到互斥锁 线程queue 队列——先进先出(FIFO) import queue q = queue.Queue(3) q.put(1) q.put(2) q.put(3) # q.put(4) # 阻塞等其他进程或者线程来拿 print(q.get()) print(q.get()) print(q.get()) # print(q.get(block=False)) # 没有值就直接报错 # q.get(timeout=2) # 阻塞2s,还没有值直接报错 堆栈——先进后出(LIFO) import queue q = queue.LifoQueue(4) q.put(1) q.put(2) q.put("alex") q.put("太白") print(q.get()) print(q.get()) print(q.get()) print(q.get()) 结果: 太白 alex 2 1 优先级队列——自己设置优先级 import queue q = queue.PriorityQueue(4) q.put((5, "元宝")) q.put((-2, "狗狗")) q.put((0, "2李业")) q.put((0, "1刚哥")) print(q.get()) print(q.get()) print(q