亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Java > 正文

JAVA生產者消費者(線程同步)代碼學習示例

2019-11-26 15:53:22
字體:
來源:轉載
供稿:網友

一、問題描述

生產者消費者問題是一個典型的線程同步問題。生產者生產商品放到容器中,容器有一定的容量(只能順序放,先放后拿),消費者消費商品,當容器滿了后,生產者等待,當容器為空時,消費者等待。當生產者將商品放入容器后,通知消費者;當消費者拿走商品后,通知生產者。

二、解決方案

對容器資源加鎖,當取得鎖后,才能對互斥資源進行操作。

復制代碼 代碼如下:

public class ProducerConsumerTest {

    public static void main(String []args){
        Container con = new Container();
        Producer p = new Producer(con);
        Consumer c = new Consumer(con);
        new Thread(p).start();
        new Thread(c).start();
    }

}


class Goods{
    int id;
    public Goods(int id){
        this.id=id;
    }

    public String toString(){
        return "商品"+this.id;
    }
}

class Container{//容器采用棧,先進后出
    private int index = 0;
    Goods[] goods = new Goods[6];

    public synchronized void push(Goods good){
        while(index==goods.length){//當容器滿了,生產者等待
            try {
                wait();
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
        goods[index]=good;
        index++;
        notifyAll();//當生產者放入商品后通知消費者
    }

    public synchronized Goods pop(){
        while(index==0){//當容器內沒有商品是等待
            try {
                wait();
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
        index--;
        notifyAll();//當消費者消費了商品后通知生產者
        return goods[index];
    }
}

class Producer implements Runnable{

    Container con = new Container();
    public Producer(Container con){
        this.con=con;
    }

    public void run(){
        for(int i=0; i<20; i++){
            Goods good = new Goods(i);
            con.push(good);
            System.out.println("生產了:"+good);
            try {
                Thread.sleep(100);
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }

}

class Consumer implements Runnable{

    Container con = new Container();
    public Consumer(Container con){
        this.con=con;
    }

    public void run(){
        for(int i=0; i<20; i++){
            Goods good=con.pop();
            System.out.println("消費了:"+good);
            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }

   
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
中文在线资源观看视频网站免费不卡| 日本高清不卡的在线| 欧美插天视频在线播放| 亚洲色图美腿丝袜| 欧美超级乱淫片喷水| 午夜精品福利视频| 欧美成人免费在线视频| 国产欧美日韩视频| 久久免费国产视频| 国产综合在线视频| 国内精品久久久久久影视8| 日韩暖暖在线视频| 成人国内精品久久久久一区| 色偷偷av一区二区三区乱| 538国产精品一区二区免费视频| 国产日韩中文字幕在线| 成人免费网视频| 欧美成人性色生活仑片| 国产suv精品一区二区三区88区| 日本久久久久久久| 成人免费大片黄在线播放| 国产日韩在线看| 久久国产精品久久久| 中文字幕亚洲情99在线| 69国产精品成人在线播放| 国产做受高潮69| 亚洲欧美激情四射在线日| 日本精品久久电影| 66m—66摸成人免费视频| 亚洲嫩模很污视频| 日韩在线视频线视频免费网站| 久久国产精品偷| 国产精品成人v| 日韩电视剧在线观看免费网站| 91成人性视频| 在线播放日韩av| 5566成人精品视频免费| 国产精品盗摄久久久| 欧美日韩国产色视频| 国产精品久久久久久婷婷天堂| 在线视频亚洲欧美| 久久精品一区中文字幕| 欧美又大粗又爽又黄大片视频| 九九视频这里只有精品| 国产精品入口日韩视频大尺度| 精品亚洲aⅴ在线观看| 久久亚洲精品中文字幕冲田杏梨| 亚洲美女又黄又爽在线观看| 亚洲va久久久噜噜噜久久天堂| 欧美在线播放视频| 91在线高清免费观看| 美女少妇精品视频| 久久亚洲精品国产亚洲老地址| 91美女高潮出水| 欧美裸体xxxx极品少妇软件| 欧美激情精品久久久久久黑人| 97在线视频观看| 欧美午夜xxx| 欧美日韩性视频| 精品国产老师黑色丝袜高跟鞋| 51ⅴ精品国产91久久久久久| 国产中文字幕亚洲| 欧美在线观看视频| 欧美精品情趣视频| 九九精品在线观看| 国产精品情侣自拍| 精品久久久一区二区| 精品国偷自产在线视频| 亚洲一级一级97网| 久久久精品欧美| 欧美贵妇videos办公室| 久久久久久成人| 国产综合福利在线| 亚洲网站在线看| 亚洲精品v天堂中文字幕| 国外色69视频在线观看| 国产亚洲欧美一区| 日本一区二三区好的精华液| 精品福利在线视频| 久久综合免费视频影院| 韩国日本不卡在线| 成人精品视频99在线观看免费| 日韩av成人在线| 欧美激情亚洲精品| 亚洲二区在线播放视频| 国产成人精品电影| 国产精品扒开腿做爽爽爽视频| 亚洲xxxxx性| 全球成人中文在线| 亚洲精品免费网站| 国产精品av网站| 26uuu日韩精品一区二区| 91沈先生作品| 亚洲国产精品成人精品| 日韩精品在线观看网站| 日日摸夜夜添一区| 欧美电影在线观看完整版| 日韩电影大全免费观看2023年上| 亚洲日本中文字幕免费在线不卡| 91精品久久久久久综合乱菊| 国产精品美腿一区在线看| 国产精品美女久久| 亚洲第一国产精品| 亚洲区免费影片| 992tv成人免费影院| 555www成人网| 久久深夜福利免费观看| 91免费看片在线| 成人黄色免费片| 97久久精品人人澡人人爽缅北| 久久伊人色综合| 国产成人精品在线| 91av在线影院| 亚洲免费电影在线观看| 亚洲色图18p| 国产精品欧美久久久| 人人爽久久涩噜噜噜网站| 欧美精品激情在线| 国产一区二区久久精品| 亚洲国产精品福利| 国产成人在线视频| 91精品在线一区| 国产成人自拍视频在线观看| 亚洲高清福利视频| 精品中文视频在线| 2019av中文字幕| 亚洲人成伊人成综合网久久久| 久久亚洲精品国产亚洲老地址| 国产精品18久久久久久首页狼| 在线亚洲国产精品网| 懂色av影视一区二区三区| 91免费看片网站| 欧美日韩在线影院| 伦理中文字幕亚洲| 伊人久久五月天| 国产精品丝袜一区二区三区| 日韩av在线免费| 久久精品国产一区| 国产欧美日韩免费| 久久久之久亚州精品露出| 欧美日韩另类视频| 欧美日韩一区免费| 国产精品丝袜一区二区三区| 欧美高清视频在线播放| 欧美激情日韩图片| 精品丝袜一区二区三区| 北条麻妃99精品青青久久| 欧美老女人www| 性欧美在线看片a免费观看| 亚洲精品自在久久| 欧美精品久久一区二区| 日本韩国在线不卡| 成人黄色在线播放| 国产精品无码专区在线观看| 久久婷婷国产麻豆91天堂| 91九色国产社区在线观看| 97香蕉超级碰碰久久免费的优势| 日韩专区在线播放| 精品久久久久久久久中文字幕| 亚洲性夜色噜噜噜7777| 亚洲福利小视频| 欧美成人第一页| 亚洲男人天堂2024| 久久人人爽人人|