<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成人无码| 九九九精品成人免费视频| 国产精品九九久久免费视频| 亚洲成av人片在线看片| 亚洲国产精品狼友中文久久久| 99久久人妻精品免费二区| 黄页网站在线免费观看| 亚洲精品中文字幕无码AV| 亚洲国产精品13p| 永久免费的网站在线观看| 久久精品无码专区免费| 亚洲精品天堂无码中文字幕| 亚洲高清国产拍精品26U| 国产在线观看www鲁啊鲁免费| 免费A级毛片无码A∨中文字幕下载| AV激情亚洲男人的天堂国语| 亚洲视频在线观看地址| 国产啪亚洲国产精品无码| 成年轻人网站色免费看| 一个人免费视频观看在线www | 国产V亚洲V天堂A无码| 情侣视频精品免费的国产| 最近2019中文字幕免费大全5| 免费在线观看一区| 亚洲中文字幕无码亚洲成A人片| 亚洲AV无码成人专区片在线观看| 亚洲?V乱码久久精品蜜桃| 毛片a级毛片免费播放下载| 日韩在线不卡免费视频一区| 少妇亚洲免费精品| 亚洲AV无码成人网站在线观看| 亚洲国产成人精品青青草原| 亚洲成色WWW久久网站| 综合亚洲伊人午夜网 | 亚洲乱码中文字幕小综合| 亚洲AV综合色区无码一区 | 亚洲精品又粗又大又爽A片| 亚洲欧洲精品国产区|