05队列queue
通俗理解就是排队,典型的保障多线程共享资源的有序操作。
Python提供了模块queue,分为三种队列,先进先出、后进先出(即栈)、优先级别队列(由算法规则决定出的顺序)
001 以先进先出队列为例
代码导入模块
生产者:每隔半秒往队列放入一个随机数,一共放五个
消费者:每次取内容有一个超时操作,超过3秒得到异常跳出循环
主函数和程序入口
Main函数代码思路如下:
构造队列
定义线程数组
创建一个生产者线程t(用Thread构造)
生产者并启动
创建两个消费者线程:用循环创建
把消费者添加到线程数组中
让消费者线程执行
让主线程等待消费者线程执行完毕
让主线程等待队列线程执行完毕
结果如下