多线程(上)——生产者和消费者模型 熟悉泛型的使用 理解生产者消费者模型 理解线程同步的多种方式* 理解线程等待和唤醒方式 深入理解各线程之间的关系,开始和被唤醒 多线程之生产者与消费者模型 多线程(上)——==生产者和消费者模型== 1.consumer类 2.producer类 3.ClassicProducerAndConsumerQueation类 1.consumer类 package MultiThread; import java.util.Queue; public class Consumer<T> { private Queue<T> tasks; public Consumer(Queue<T> tasks) { this.tasks = tasks; } public T consum() throws InterruptedException { synchronized (tasks) { //对于消费者,tasks如果等于0,消费者进入等待 while (tasks.size() == 0){ System.out.println("消费者线程进入等待:"+Thread.currentThread().getName()); tasks.wait(); } //如果没有等于零,tasks数量减少 //之后唤醒tasks全部的进程 T ret = tasks.poll(); tasks.notifyAll(); return ret; } } } 2.producer类 package MultiThread; import java.util.Queue; public class Producer<T> { private Queue