经典生产者消费者问题: /* 线程通信的应用 分析: 1.是否是多线程问题?是,生产者线程,消费者线程 2.是否有共享数据?是,产品 3.如何解决线程安全问题?同步机制,有三种方法 4.是否涉及到线程的通信?是 */ public class ProductTest { public static void main(String[] args) { Clerk clerk = new Clerk(); Producer p1 = new Producer(clerk); p1.setName("生产者1"); Consumer c1 = new Consumer(clerk); c1.setName("消费者1"); Consumer c2 = new Consumer(clerk); c2.setName("消费者2"); p1.start(); c1.start(); c2.start(); } } class Clerk { private int count = 0; //生产产品 public synchronized void produceProduct() { if (count < 20) { count++; System.out.println(Thread.currentThread().getName()