<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    少年阿賓

    那些青春的歲月

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      500 Posts :: 0 Stories :: 135 Comments :: 0 Trackbacks

     

    問題解決2——加入等待與喚醒


    package edu.sjtu.erplab.thread;

    class Info{
        private String name="name";
        private String content="content";
        private boolean flag=true;
        public  synchronized void set(String name,String content)
        {
            if(!flag)//標志位為false,不可以生產
            {
                try {
                    super.wait();
                } catch (InterruptedException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
            this.setName(name);
            try {
                Thread.sleep(30);
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            this.setContent(content);
            flag=false;//修改標志位為false,表示生產者已經完成資源,消費者可以消費。
            super.notify();//喚醒消費者進程
        }
       
        public synchronized void get()
        {
            if(flag)
            {
                try {
                    super.wait();
                } catch (InterruptedException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
            try {
                Thread.sleep(30);
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            System.out.println(this.getName()+":-->"+this.getContent());
            flag=true;//修改標志位為true,表示消費者拿走資源,生產者可以生產。
            super.notify();//喚醒生產者進程。
        }
       
       
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public String getContent() {
            return content;
        }
        public void setContent(String content) {
            this.content = content;
        }
       
    }

    class Producer implements Runnable{
        private Info info=null;
        public Producer(Info info)
        {
            this.info=info;
        }
       

        @Override
        public void run() {
            boolean flag=false;
            for(int i=0;i<10;i++)
                if(flag)
                {
                    this.info.set("name+"+i, "content+"+i);
                    flag=false;
                }
                else
                {
                    this.info.set("name-"+i, "content-"+i);
                    flag=true;
                }
        }
    }

    class Consumer implements Runnable{
        private Info info=null;
        public Consumer(Info info)
        {
            this.info=info;
        }
        @Override
        public void run() {
            for(int i=0;i<10;i++)
            {
                try {
                    Thread.sleep(10);
                } catch (InterruptedException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                this.info.get();
            }
           
        }
    }

    public class ThreadDeadLock {
        public static void main(String args[])
        {
            Info info=new Info();
            Producer pro=new Producer(info);
            Consumer con=new Consumer(info);
            new Thread(pro).start();
            new Thread(con).start();
        }
       
    }




    http://www.cnblogs.com/xwdreamer/archive/2011/11/20/2296931.html#2397397

    posted on 2012-08-02 15:30 abin 閱讀(467) 評論(0)  編輯  收藏 所屬分類: JavaMultithread
    主站蜘蛛池模板: 丰满人妻一区二区三区免费视频| 久久久久久久久无码精品亚洲日韩| 三级片免费观看久久| 午夜成人免费视频| 亚洲另类无码专区丝袜| 四虎影院免费视频| 亚洲欧美成人av在线观看 | 99视频在线看观免费| 久久精品国产精品亚洲艾| 久久久久久久99精品免费 | 亚洲精品美女在线观看| 91久久精品国产免费直播| 亚洲国产精品张柏芝在线观看| 免费观看黄色的网站| 亚洲欧美日韩综合俺去了| 国产网站免费观看| sss日本免费完整版在线观看| 亚洲精品狼友在线播放| 99精品视频免费在线观看| 亚洲六月丁香婷婷综合| 国产免费拔擦拔擦8x| 国产精品免费大片一区二区| 亚洲成人精品久久| 九九九精品成人免费视频| 偷自拍亚洲视频在线观看99| 夜夜春亚洲嫩草影院| 91免费播放人人爽人人快乐| 精品国产日韩亚洲一区在线| 亚洲精品无码成人片久久| av无码国产在线看免费网站 | 亚洲中文字幕无码爆乳AV| 免费精品无码AV片在线观看| 亚洲精品亚洲人成在线播放| 国产aa免费视频| 久久久久久久99精品免费 | a级毛片免费观看视频| 亚洲a级在线观看| 区三区激情福利综合中文字幕在线一区亚洲视频1 | 亚洲人成免费电影| 免费人人潮人人爽一区二区| 久久精品亚洲一区二区三区浴池|