昌都网站建设,营销方案策划书,山东禹城市建设局网站,商洛网站建设队列(Queue)在多个线程之间安全的交换数据信息#xff0c;队列在多线程编程中特别有用队列的好处#xff1a;提高双方的效率#xff0c;你只需要把数据放到队列中#xff0c;中间去干别的事情。完成了程序的解耦性#xff0c;两者关系依赖性没有不大。一、队列的类型…队列(Queue)在多个线程之间安全的交换数据信息队列在多线程编程中特别有用队列的好处提高双方的效率你只需要把数据放到队列中中间去干别的事情。完成了程序的解耦性两者关系依赖性没有不大。一、队列的类型1、lass queue.Queue(maxsize0)先进先出后进后出2、class queue.LifoQueue(maxsize0)是先进后出后进新出规则last in fisrt out3、class queue.PriorityQueue(maxsize0)根据优先级来取数据。存放数据的格式 : Queue.put((priority_number,data))priority_number越小优先级越高data代表存入的值注maxsize代表这个队列最大能够put的长度二、队列(Queue)的内置方法生产者消费者模型并发编程中使用生产者和消费者模式能够解决绝大多数并发问题。该模式通过平衡生产线程和消费线程的工作能力来提高程序的整体处理数据的速度。1、为什么要使用生产者和消费者模式在线程世界里生产者就是生产数据的线程消费者就是消费数据的线程。在多线程开发当中如果生产者处理速度很快而消费者处理速度很慢那么生产者就必须等待消费者处理完才能继续生产数据。同样的道理如果消费者的处理能力大于生产者那么消费者就必须等待生产者。为了解决这个问题于是引入了生产者和消费者模式。2、什么是生产者消费者模式生产者消费者模式是通过一个容器来解决生产者和消费者的强耦合问题。生产者和消费者彼此之间不直接通讯而通过阻塞队列来进行通讯所以生产者生产完数据之后不用等待消费者处理直接扔给阻塞队列消费者不找生产者要数据而是直接从阻塞队列里取阻塞队列就相当于一个缓冲区平衡了生产者和消费者的处理能力。3、生成者消费者模型例子3.1、生产者生产完毕消费者再消费例子3.2 边生产边消费的模型例子3.3、流程图图解生产者生产消费者消费。消费者每消费一次都要去执行以下task_done()方法来告诉消费者已经消费成功相当于吃完饭消费者应该给钱了。消费者每消费一次则队列中计数器会做减1操作。当队列中的计数器为0的时候则生产者不阻塞继续执行不为0的时候则阻塞直到消费者消费完毕为止。