java之生产者和消费者问题
发布时间:2020-12-15 06:43:37 所属栏目:Java 来源:网络整理
导读:package testThread; public class Test3 { static void main(String[] args) { Clerk c = new Clerk(); // 消费时不生产,生产时不消费 生产者 new Thread( Runnable() { @Override run() { TODO Auto-generated method stub synchronized (c) { 无限生产 w
package testThread; public class Test3 { static void main(String[] args) { Clerk c = new Clerk(); //消费时不生产,生产时不消费 生产者 new Thread( Runnable() { @Override run() { TODO Auto-generated method stub synchronized (c) { 无限生产 while(true) { if(c.productNum == 0) { 开始生产 System.out.println("产品为0,开始生产"); while(c.productNum<4) { c.productNum++; System.产品库存:"+c.productNum); } System.产品数为:"+c.productNum+,结束生产唤醒消费者 c.notify(); }else { try { 生产者等待 c.wait(); } catch (InterruptedException e) { TODO Auto-generated catch block e.printStackTrace(); } } } } } },生产者).start(); 消费者 ) { System.库存为4,开始消费while(c.productNum>) { c.productNum--,结束消费唤醒生产者 消费者等待 消费者).start(); } } Clerk{ int productNum = ; } 部分输出: 产品为0,开始生产 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |