加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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,开始生产
产品库存:1
产品库存:2
产品库存:3
产品库存:4
产品数为:4,结束生产
库存为4,开始消费
产品库存:3
产品库存:2
产品库存:1
产品库存:0
产品数为:0,结束消费
产品为0,开始生产
产品库存:1
产品库存:2
产品库存:3
产品库存:4
产品数为:4,结束生产

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读