多线程之-生产者消费者模型
/**
* 通过java中线程的wait,notify/notifyAll 机制实现生产者消费者模型
**/
package com.heng.demo; public class ProducerConsumerModel_ObjectWaitAndNotify { public static void main(String[] args) { Product product = new Product("xiaomi"); Producer producer = new Producer(product); Consumer consumer = new Consumer(product); new Thread(producer, "生产者1").start(); new Thread(producer, "生产者2").start(); new Thread(producer, "生产者3").start(); new Thread(producer, "生产者4").start(); new Thread(consumer, "消费者1").start(); new Thread(consumer, "消费者2").start(); } } class Product{ private String name; volatile private int number; private boolean flag = false; private final String ORIGINNAME; public Product(String name) { super(); ORIGINNAME = name; } public int getNumber() { return number; } public synchronized void produce() { System.out.println(Thread.currentThread().getName() + " ENTER produce"); if (number > 10) { try { System.out.println(Thread.currentThread().getName() + " 等待中"); System.out.println(Thread.currentThread().getName() + " WAIT produce"); this.wait(); //客户还没消费,等等吧 } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } number++; this.name = ORIGINNAME + "--"+ number; System.out.println(Thread.currentThread().getName() + " 生产了 " + name); try { Thread.sleep(500L); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } System.out.println(Thread.currentThread().getName() + " LEVEL produce"); this.notify(); } public synchronized void consume() { System.out.println(Thread.currentThread().getName() + " ENTER Consume"); if (number == 0) { try { System.out.println(Thread.currentThread().getName() + " WAIT Consume"); this.wait(); //代表当前已经没有产品可消费 } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } this.name = ORIGINNAME + "--"+ number; System.out.println(Thread.currentThread().getName() + " 消费了 " + name); number--; try { Thread.sleep(300L); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } flag = false; System.out.println(Thread.currentThread().getName() + " LEVEL Consume"); this.notify(); } } class Producer implements Runnable { private Product product; public Producer(Product product) { this.product = product; } @Override public void run() { while (true && !Thread.interrupted()) { product.produce(); } } } class Consumer implements Runnable{ private Product product; public Consumer(Product product) { this.product = product; } @Override public void run() { while (true && !Thread.interrupted()) { //注意,此处不能加判断条件product.number > 0, //因为在run 方法里面已经做了wait操作, //如果在此拦截将导致所有的消费者不执行,所有的生产者一直等待下去 product.consume(); } } }
执行结果:
生产者1 ENTER produce
生产者1 生产了 xiaomi--1
生产者1 LEVEL produce
消费者2 ENTER Consume
消费者2 消费了 xiaomi--1
消费者2 LEVEL Consume
消费者2 ENTER Consume
消费者2 WAIT Consume
消费者1 ENTER Consume
消费者1 WAIT Consume
生产者4 ENTER produce
生产者4 生产了 xiaomi--1
生产者4 LEVEL produce
生产者4 ENTER produce
生产者4 生产了 xiaomi--2
生产者4 LEVEL produce
生产者4 ENTER produce
生产者4 生产了 xiaomi--3
生产者4 LEVEL produce
生产者4 ENTER produce
生产者4 生产了 xiaomi--4
生产者4 LEVEL produce
生产者4 ENTER produce
生产者4 生产了 xiaomi--5
生产者4 LEVEL produce
生产者4 ENTER produce
生产者4 生产了 xiaomi--6
生产者4 LEVEL produce
生产者4 ENTER produce
生产者4 生产了 xiaomi--7
生产者4 LEVEL produce
生产者4 ENTER produce
生产者4 生产了 xiaomi--8
生产者4 LEVEL produce
生产者4 ENTER produce
生产者4 生产了 xiaomi--9
生产者4 LEVEL produce
生产者3 ENTER produce
生产者3 生产了 xiaomi--10
生产者3 LEVEL produce
生产者3 ENTER produce
生产者3 生产了 xiaomi--11
生产者3 LEVEL produce
生产者2 ENTER produce
生产者2 等待中
生产者2 WAIT produce
生产者3 ENTER produce
生产者3 等待中
生产者3 WAIT produce
生产者4 ENTER produce
生产者4 等待中
生产者4 WAIT produce
消费者1 消费了 xiaomi--11
消费者1 LEVEL Consume
消费者1 ENTER Consume
消费者1 消费了 xiaomi--10
消费者1 LEVEL Consume
消费者1 ENTER Consume
消费者1 消费了 xiaomi--9
消费者1 LEVEL Consume
消费者1 ENTER Consume
消费者1 消费了 xiaomi--8
消费者1 LEVEL Consume
消费者1 ENTER Consume
消费者1 消费了 xiaomi--7
消费者1 LEVEL Consume
消费者1 ENTER Consume
消费者1 消费了 xiaomi--6
消费者1 LEVEL Consume
消费者1 ENTER Consume
消费者1 消费了 xiaomi--5
消费者1 LEVEL Consume
消费者1 ENTER Consume
消费者1 消费了 xiaomi--4
消费者1 LEVEL Consume
消费者1 ENTER Consume
消费者1 消费了 xiaomi--3
消费者1 LEVEL Consume
消费者2 消费了 xiaomi--2
消费者2 LEVEL Consume
消费者2 ENTER Consume
消费者2 消费了 xiaomi--1
消费者2 LEVEL Consume
消费者2 ENTER Consume
消费者2 WAIT Consume
生产者1 ENTER produce
生产者1 生产了 xiaomi--1
生产者1 LEVEL produce
生产者1 ENTER produce
生产者1 生产了 xiaomi--2
生产者1 LEVEL produce
生产者1 ENTER produce
生产者1 生产了 xiaomi--3
生产者1 LEVEL produce
生产者1 ENTER produce
生产者1 生产了 xiaomi--4
生产者1 LEVEL produce
生产者1 ENTER produce
生产者1 生产了 xiaomi--5
生产者1 LEVEL produce
生产者1 ENTER produce
生产者1 生产了 xiaomi--6
生产者1 LEVEL produce
生产者1 ENTER produce
生产者1 生产了 xiaomi--7
生产者1 LEVEL produce
生产者1 ENTER produce
生产者1 生产了 xiaomi--8
生产者1 LEVEL produce
生产者1 ENTER produce
生产者1 生产了 xiaomi--9
生产者1 LEVEL produce
生产者1 ENTER produce
生产者1 生产了 xiaomi--10
生产者1 LEVEL produce
生产者1 ENTER produce
生产者1 生产了 xiaomi--11
生产者1 LEVEL produce
生产者1 ENTER produce
生产者1 等待中
生产者1 WAIT produce
消费者2 消费了 xiaomi--11
消费者2 LEVEL Consume
消费者2 ENTER Consume
消费者2 消费了 xiaomi--10
消费者2 LEVEL Consume
消费者2 ENTER Consume
消费者2 消费了 xiaomi--9
消费者2 LEVEL Consume
消费者2 ENTER Consume
消费者2 消费了 xiaomi--8
消费者2 LEVEL Consume
消费者2 ENTER Consume
消费者2 消费了 xiaomi--7
消费者2 LEVEL Consume
消费者2 ENTER Consume
消费者2 消费了 xiaomi--6
消费者2 LEVEL Consume
生产者1 生产了 xiaomi--6
生产者1 LEVEL produce
生产者1 ENTER produce
生产者1 生产了 xiaomi--7
生产者1 LEVEL produce
生产者1 ENTER produce
生产者1 生产了 xiaomi--8
生产者1 LEVEL produce
生产者1 ENTER produce
生产者1 生产了 xiaomi--9
生产者1 LEVEL produce
生产者1 ENTER produce
生产者1 生产了 xiaomi--10
生产者1 LEVEL produce
生产者1 ENTER produce
生产者1 生产了 xiaomi--11
生产者1 LEVEL produce
生产者1 ENTER produce
生产者1 等待中
生产者1 WAIT produce
消费者2 ENTER Consume
消费者2 消费了 xiaomi--11
消费者2 LEVEL Consume
消费者2 ENTER Consume
消费者2 消费了 xiaomi--10
消费者2 LEVEL Consume
消费者2 ENTER Consume
消费者2 消费了 xiaomi--9
消费者2 LEVEL Consume
消费者2 ENTER Consume
消费者2 消费了 xiaomi--8
消费者2 LEVEL Consume
消费者2 ENTER Consume
消费者2 消费了 xiaomi--7
消费者2 LEVEL Consume
消费者2 ENTER Consume
消费者2 消费了 xiaomi--6
消费者2 LEVEL Consume
消费者2 ENTER Consume
消费者2 消费了 xiaomi--5
消费者2 LEVEL Consume
消费者2 ENTER Consume
消费者2 消费了 xiaomi--4
消费者2 LEVEL Consume
消费者2 ENTER Consume
消费者2 消费了 xiaomi--3
消费者2 LEVEL Consume
消费者2 ENTER Consume
消费者2 消费了 xiaomi--2
消费者2 LEVEL Consume
消费者2 ENTER Consume
消费者2 消费了 xiaomi--1
消费者2 LEVEL Consume
消费者2 ENTER Consume
消费者2 WAIT Consume
消费者1 ENTER Consume
消费者1 WAIT Consume
生产者4 生产了 xiaomi--1
生产者4 LEVEL produce
生产者4 ENTER produce
生产者4 生产了 xiaomi--2
生产者4 LEVEL produce
生产者4 ENTER produce
生产者4 生产了 xiaomi--3
生产者4 LEVEL produce
生产者4 ENTER produce
生产者4 生产了 xiaomi--4
生产者4 LEVEL produce
生产者4 ENTER produce
生产者4 生产了 xiaomi--5
生产者4 LEVEL produce
生产者4 ENTER produce
生产者4 生产了 xiaomi--6
生产者4 LEVEL produce
生产者4 ENTER produce
生产者4 生产了 xiaomi--7
生产者4 LEVEL produce
生产者4 ENTER produce
生产者4 生产了 xiaomi--8
生产者4 LEVEL produce
生产者4 ENTER produce
生产者4 生产了 xiaomi--9
生产者4 LEVEL produce
生产者4 ENTER produce
生产者4 生产了 xiaomi--10
生产者4 LEVEL produce
生产者4 ENTER produce
生产者4 生产了 xiaomi--11
生产者4 LEVEL produce
生产者4 ENTER produce
生产者4 等待中
生产者4 WAIT produce
生产者3 生产了 xiaomi--12
生产者3 LEVEL produce
生产者3 ENTER produce
生产者3 等待中
生产者3 WAIT produce
生产者2 生产了 xiaomi--13
生产者2 LEVEL produce
生产者2 ENTER produce
生产者2 等待中
生产者2 WAIT produce
生产者3 生产了 xiaomi--14
生产者3 LEVEL produce
生产者3 ENTER produce
生产者3 等待中
生产者3 WAIT produce
生产者2 生产了 xiaomi--15
生产者2 LEVEL produce
生产者2 ENTER produce
生产者2 等待中
生产者2 WAIT produce
生产者3 生产了 xiaomi--16
生产者3 LEVEL produce
生产者3 ENTER produce
生产者3 等待中
生产者3 WAIT produce
生产者2 生产了 xiaomi--17
生产者2 LEVEL produce
生产者2 ENTER produce
生产者2 等待中
生产者2 WAIT produce
生产者3 生产了 xiaomi--18
生产者3 LEVEL produce
生产者3 ENTER produce
生产者3 等待中
生产者3 WAIT produce
生产者2 生产了 xiaomi--19
生产者2 LEVEL produce
生产者2 ENTER produce
生产者2 等待中
生产者2 WAIT produce
生产者3 生产了 xiaomi--20
生产者3 LEVEL produce
生产者2 生产了 xiaomi--21
生产者2 LEVEL produce
生产者2 ENTER produce
生产者2 等待中
生产者2 WAIT produce
生产者3 ENTER produce
生产者3 等待中
生产者3 WAIT produce
生产者4 生产了 xiaomi--22
生产者4 LEVEL produce
生产者4 ENTER produce
生产者4 等待中
生产者4 WAIT produce
消费者1 消费了 xiaomi--22
消费者1 LEVEL Consume
消费者1 ENTER Consume
消费者1 消费了 xiaomi--21
消费者1 LEVEL Consume
消费者1 ENTER Consume
消费者1 消费了 xiaomi--20
消费者1 LEVEL Consume
消费者1 ENTER Consume
消费者1 消费了 xiaomi--19
消费者1 LEVEL Consume
消费者2 消费了 xiaomi--18
消费者2 LEVEL Consume
消费者2 ENTER Consume
消费者2 消费了 xiaomi--17
消费者2 LEVEL Consume
消费者2 ENTER Consume
消费者2 消费了 xiaomi--16
消费者2 LEVEL Consume
消费者2 ENTER Consume
消费者2 消费了 xiaomi--15
消费者2 LEVEL Consume
消费者2 ENTER Consume
消费者2 消费了 xiaomi--14
消费者2 LEVEL Consume
消费者2 ENTER Consume
消费者2 消费了 xiaomi--13
消费者2 LEVEL Consume
消费者2 ENTER Consume
消费者2 消费了 xiaomi--12
消费者2 LEVEL Consume
消费者2 ENTER Consume
消费者2 消费了 xiaomi--11
消费者2 LEVEL Consume
消费者2 ENTER Consume
消费者2 消费了 xiaomi--10
消费者2 LEVEL Consume
消费者2 ENTER Consume
消费者2 消费了 xiaomi--9
消费者2 LEVEL Consume
消费者2 ENTER Consume
消费者2 消费了 xiaomi--8
消费者2 LEVEL Consume
消费者2 ENTER Consume
消费者2 消费了 xiaomi--7
消费者2 LEVEL Consume
消费者2 ENTER Consume
消费者2 消费了 xiaomi--6
消费者2 LEVEL Consume
消费者2 ENTER Consume
消费者2 消费了 xiaomi--5
消费者2 LEVEL Consume
消费者2 ENTER Consume
消费者2 消费了 xiaomi--4
消费者2 LEVEL Consume
消费者2 ENTER Consume
消费者2 消费了 xiaomi--3
消费者2 LEVEL Consume
消费者2 ENTER Consume
消费者2 消费了 xiaomi--2
消费者2 LEVEL Consume
消费者2 ENTER Consume
消费者2 消费了 xiaomi--1
消费者2 LEVEL Consume
消费者2 ENTER Consume
消费者2 WAIT Consume
生产者1 生产了 xiaomi--1
生产者1 LEVEL produce
生产者1 ENTER produce
生产者1 生产了 xiaomi--2
生产者1 LEVEL produce
生产者1 ENTER produce
生产者1 生产了 xiaomi--3
生产者1 LEVEL produce
生产者1 ENTER produce
生产者1 生产了 xiaomi--4
生产者1 LEVEL produce
生产者1 ENTER produce
生产者1 生产了 xiaomi--5
生产者1 LEVEL produce
生产者1 ENTER produce
生产者1 生产了 xiaomi--6
生产者1 LEVEL produce
生产者1 ENTER produce
生产者1 生产了 xiaomi--7
生产者1 LEVEL produce
生产者1 ENTER produce
生产者1 生产了 xiaomi--8
生产者1 LEVEL produce
生产者1 ENTER produce
生产者1 生产了 xiaomi--9
生产者1 LEVEL produce
生产者1 ENTER produce
生产者1 生产了 xiaomi--10
生产者1 LEVEL produce
生产者1 ENTER produce
生产者1 生产了 xiaomi--11
生产者1 LEVEL produce
生产者1 ENTER produce
生产者1 等待中
生产者1 WAIT produce
消费者2 消费了 xiaomi--11
消费者2 LEVEL Consume
消费者2 ENTER Consume
消费者2 消费了 xiaomi--10
消费者2 LEVEL Consume
消费者2 ENTER Consume
消费者2 消费了 xiaomi--9
消费者2 LEVEL Consume
消费者2 ENTER Consume
消费者2 消费了 xiaomi--8
消费者2 LEVEL Consume
生产者1 生产了 xiaomi--8
生产者1 LEVEL produce
消费者2 ENTER Consume
消费者2 消费了 xiaomi--8
消费者2 LEVEL Consume
消费者1 ENTER Consume
消费者1 消费了 xiaomi--7
消费者1 LEVEL Consume
消费者1 ENTER Consume
消费者1 消费了 xiaomi--6
消费者1 LEVEL Consume
消费者1 ENTER Consume
消费者1 消费了 xiaomi--5
消费者1 LEVEL Consume
消费者1 ENTER Consume
消费者1 消费了 xiaomi--4
消费者1 LEVEL Consume
消费者1 ENTER Consume
消费者1 消费了 xiaomi--3
消费者1 LEVEL Consume
消费者1 ENTER Consume
消费者1 消费了 xiaomi--2
消费者1 LEVEL Consume
消费者1 ENTER Consume
消费者1 消费了 xiaomi--1
消费者1 LEVEL Consume
生产者4 生产了 xiaomi--1
生产者4 LEVEL produce
生产者3 生产了 xiaomi--2
生产者3 LEVEL produce
生产者3 ENTER produce
生产者3 生产了 xiaomi--3
生产者3 LEVEL produce
生产者2 生产了 xiaomi--4
生产者2 LEVEL produce
生产者2 ENTER produce
生产者2 生产了 xiaomi--5
生产者2 LEVEL produce
生产者3 ENTER produce
生产者3 生产了 xiaomi--6
生产者3 LEVEL produce
生产者3 ENTER produce
生产者3 生产了 xiaomi--7
生产者3 LEVEL produce
生产者3 ENTER produce
生产者3 生产了 xiaomi--8
生产者3 LEVEL produce
生产者3 ENTER produce
生产者3 生产了 xiaomi--9
生产者3 LEVEL produce
生产者3 ENTER produce
生产者3 生产了 xiaomi--10
生产者3 LEVEL produce
生产者3 ENTER produce
生产者3 生产了 xiaomi--11
生产者3 LEVEL produce
生产者3 ENTER produce
生产者3 等待中
生产者3 WAIT produce
生产者4 ENTER produce
生产者4 等待中
生产者4 WAIT produce
消费者1 ENTER Consume
消费者1 消费了 xiaomi--11
消费者1 LEVEL Consume
消费者1 ENTER Consume
消费者1 消费了 xiaomi--10
消费者1 LEVEL Consume
消费者1 ENTER Consume
消费者1 消费了 xiaomi--9
消费者1 LEVEL Consume
消费者1 ENTER Consume
消费者1 消费了 xiaomi--8
消费者1 LEVEL Consume
消费者1 ENTER Consume
消费者1 消费了 xiaomi--7
消费者1 LEVEL Consume
消费者2 ENTER Consume
消费者2 消费了 xiaomi--6
消费者2 LEVEL Consume
生产者1 ENTER produce
生产者1 生产了 xiaomi--6
生产者1 LEVEL produce
消费者2 ENTER Consume
消费者2 消费了 xiaomi--6
消费者2 LEVEL Consume
消费者1 ENTER Consume
消费者1 消费了 xiaomi--5
消费者1 LEVEL Consume
消费者1 ENTER Consume
消费者1 消费了 xiaomi--4
消费者1 LEVEL Consume
消费者1 ENTER Consume
消费者1 消费了 xiaomi--3
消费者1 LEVEL Consume
消费者1 ENTER Consume
消费者1 消费了 xiaomi--2
消费者1 LEVEL Consume
消费者1 ENTER Consume
消费者1 消费了 xiaomi--1
消费者1 LEVEL Consume
生产者4 生产了 xiaomi--1
生产者4 LEVEL produce
生产者4 ENTER produce
生产者4 生产了 xiaomi--2
生产者4 LEVEL produce
生产者3 生产了 xiaomi--3
生产者3 LEVEL produce
生产者2 ENTER produce
生产者2 生产了 xiaomi--4
生产者2 LEVEL produce
生产者2 ENTER produce
生产者2 生产了 xiaomi--5
生产者2 LEVEL produce
生产者3 ENTER produce
生产者3 生产了 xiaomi--6
生产者3 LEVEL produce
生产者4 ENTER produce
生产者4 生产了 xiaomi--7
生产者4 LEVEL produce
生产者4 ENTER produce
生产者4 生产了 xiaomi--8
生产者4 LEVEL produce
生产者4 ENTER produce
生产者4 生产了 xiaomi--9
生产者4 LEVEL produce
生产者4 ENTER produce
生产者4 生产了 xiaomi--10
生产者4 LEVEL produce
生产者4 ENTER produce
生产者4 生产了 xiaomi--11
生产者4 LEVEL produce
生产者4 ENTER produce
生产者4 等待中
生产者4 WAIT produce
消费者1 ENTER Consume
消费者1 消费了 xiaomi--11
消费者1 LEVEL Consume
消费者1 ENTER Consume
消费者1 消费了 xiaomi--10
消费者1 LEVEL Consume
消费者1 ENTER Consume
消费者1 消费了 xiaomi--9
消费者1 LEVEL Consume
消费者1 ENTER Consume
消费者1 消费了 xiaomi--8
消费者1 LEVEL Consume
消费者1 ENTER Consume
消费者1 消费了 xiaomi--7
消费者1 LEVEL Consume
消费者1 ENTER Consume
消费者1 消费了 xiaomi--6
消费者1 LEVEL Consume
消费者1 ENTER Consume
消费者1 消费了 xiaomi--5
消费者1 LEVEL Consume
消费者2 ENTER Consume
消费者2 消费了 xiaomi--4
消费者2 LEVEL Consume
消费者2 ENTER Consume
消费者2 消费了 xiaomi--3
消费者2 LEVEL Consume
消费者2 ENTER Consume
消费者2 消费了 xiaomi--2
消费者2 LEVEL Consume
消费者2 ENTER Consume
消费者2 消费了 xiaomi--1
消费者2 LEVEL Consume
消费者2 ENTER Consume
消费者2 WAIT Consume
生产者1 ENTER produce
生产者1 生产了 xiaomi--1
生产者1 LEVEL produce
消费者2 消费了 xiaomi--1
消费者2 LEVEL Consume
消费者2 ENTER Consume
消费者2 WAIT Consume
生产者1 ENTER produce
生产者1 生产了 xiaomi--1
生产者1 LEVEL produce
生产者1 ENTER produce
生产者1 生产了 xiaomi--2
生产者1 LEVEL produce
生产者1 ENTER produce
生产者1 生产了 xiaomi--3
生产者1 LEVEL produce
生产者1 ENTER produce
生产者1 生产了 xiaomi--4
生产者1 LEVEL produce
生产者1 ENTER produce
生产者1 生产了 xiaomi--5
生产者1 LEVEL produce
生产者1 ENTER produce
生产者1 生产了 xiaomi--6
生产者1 LEVEL produce
生产者1 ENTER produce
生产者1 生产了 xiaomi--7
生产者1 LEVEL produce
生产者1 ENTER produce
生产者1 生产了 xiaomi--8
生产者1 LEVEL produce
消费者1 ENTER Consume
消费者1 消费了 xiaomi--8
消费者1 LEVEL Consume
消费者1 ENTER Consume
消费者1 消费了 xiaomi--7
消费者1 LEVEL Consume
消费者1 ENTER Consume
消费者1 消费了 xiaomi--6
消费者1 LEVEL Consume
消费者1 ENTER Consume
消费者1 消费了 xiaomi--5
消费者1 LEVEL Consume
消费者1 ENTER Consume
消费者1 消费了 xiaomi--4
消费者1 LEVEL Consume
消费者1 ENTER Consume
消费者1 消费了 xiaomi--3
消费者1 LEVEL Consume
消费者1 ENTER Consume
消费者1 消费了 xiaomi--2
消费者1 LEVEL Consume
生产者4 生产了 xiaomi--2
生产者4 LEVEL produce
生产者4 ENTER produce
生产者4 生产了 xiaomi--3
生产者4 LEVEL produce
生产者3 ENTER produce
生产者3 生产了 xiaomi--4
生产者3 LEVEL produce
生产者3 ENTER produce
生产者3 生产了 xiaomi--5
生产者3 LEVEL produce
生产者3 ENTER produce
生产者3 生产了 xiaomi--6
生产者3 LEVEL produce
生产者3 ENTER produce
生产者3 生产了 xiaomi--7
生产者3 LEVEL produce
生产者2 ENTER produce
生产者2 生产了 xiaomi--8
生产者2 LEVEL produce
生产者2 ENTER produce
生产者2 生产了 xiaomi--9
生产者2 LEVEL produce
生产者2 ENTER produce
生产者2 生产了 xiaomi--10
生产者2 LEVEL produce
生产者2 ENTER produce
生产者2 生产了 xiaomi--11
生产者2 LEVEL produce
生产者2 ENTER produce
生产者2 等待中
生产者2 WAIT produce
生产者3 ENTER produce
生产者3 等待中
生产者3 WAIT produce
生产者4 ENTER produce
生产者4 等待中
生产者4 WAIT produce
消费者1 ENTER Consume
消费者1 消费了 xiaomi--11
消费者1 LEVEL Consume
消费者1 ENTER Consume
消费者1 消费了 xiaomi--10
消费者1 LEVEL Consume
消费者1 ENTER Consume
消费者1 消费了 xiaomi--9
消费者1 LEVEL Consume
消费者1 ENTER Consume
消费者1 消费了 xiaomi--8
消费者1 LEVEL Consume
消费者1 ENTER Consume
消费者1 消费了 xiaomi--7
消费者1 LEVEL Consume
消费者1 ENTER Consume
消费者1 消费了 xiaomi--6
消费者1 LEVEL Consume
消费者1 ENTER Consume
消费者1 消费了 xiaomi--5
消费者1 LEVEL Consume
消费者1 ENTER Consume
消费者1 消费了 xiaomi--4
消费者1 LEVEL Consume
消费者1 ENTER Consume
消费者1 消费了 xiaomi--3
消费者1 LEVEL Consume
消费者1 ENTER Consume
消费者1 消费了 xiaomi--2
消费者1 LEVEL Consume
消费者1 ENTER Consume
消费者1 消费了 xiaomi--1
消费者1 LEVEL Consume
消费者1 ENTER Consume
消费者1 WAIT Consume
生产者1 ENTER produce
生产者1 生产了 xiaomi--1
生产者1 LEVEL produce
消费者2 消费了 xiaomi--1
消费者2 LEVEL Consume
消费者2 ENTER Consume
消费者2 WAIT Consume
生产者1 ENTER produce
生产者1 生产了 xiaomi--1
生产者1 LEVEL produce
消费者1 消费了 xiaomi--1
消费者1 LEVEL Consume
消费者1 ENTER Consume
消费者1 WAIT Consume
生产者4 生产了 xiaomi--1
生产者4 LEVEL produce
生产者4 ENTER produce
生产者4 生产了 xiaomi--2
生产者4 LEVEL produce
生产者3 生产了 xiaomi--3
生产者3 LEVEL produce
生产者3 ENTER produce
生产者3 生产了 xiaomi--4
生产者3 LEVEL produce
生产者3 ENTER produce
生产者3 生产了 xiaomi--5
生产者3 LEVEL produce
生产者3 ENTER produce
生产者3 生产了 xiaomi--6
生产者3 LEVEL produce
生产者3 ENTER produce
生产者3 生产了 xiaomi--7
生产者3 LEVEL produce
生产者3 ENTER produce
生产者3 生产了 xiaomi--8
生产者3 LEVEL produce
生产者3 ENTER produce
生产者3 生产了 xiaomi--9
生产者3 LEVEL produce
生产者2 生产了 xiaomi--10
生产者2 LEVEL produce
生产者2 ENTER produce
生产者2 生产了 xiaomi--11
生产者2 LEVEL produce
生产者2 ENTER produce
生产者2 等待中
生产者2 WAIT produce
生产者3 ENTER produce
生产者3 等待中
生产者3 WAIT produce
生产者4 ENTER produce
生产者4 等待中
生产者4 WAIT produce
消费者1 消费了 xiaomi--11
消费者1 LEVEL Consume
消费者1 ENTER Consume
消费者1 消费了 xiaomi--10
消费者1 LEVEL Consume
消费者1 ENTER Consume
消费者1 消费了 xiaomi--9
消费者1 LEVEL Consume
生产者1 ENTER produce
生产者1 生产了 xiaomi--9
生产者1 LEVEL produce
生产者1 ENTER produce
生产者1 生产了 xiaomi--10
生产者1 LEVEL produce
生产者1 ENTER produce
生产者1 生产了 xiaomi--11
生产者1 LEVEL produce
消费者2 消费了 xiaomi--11
消费者2 LEVEL Consume
消费者2 ENTER Consume
消费者2 消费了 xiaomi--10
消费者2 LEVEL Consume
消费者2 ENTER Consume
消费者2 消费了 xiaomi--9
消费者2 LEVEL Consume
消费者2 ENTER Consume
消费者2 消费了 xiaomi--8