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

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

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

    少年阿賓

    那些青春的歲月

      BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
      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,不可以生產(chǎn)
            {
                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,表示生產(chǎn)者已經(jīng)完成資源,消費者可以消費。
            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,表示消費者拿走資源,生產(chǎn)者可以生產(chǎn)。
            super.notify();//喚醒生產(chǎn)者進程。
        }
       
       
        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
    主站蜘蛛池模板: 亚洲精品美女久久久久9999| 国产成人亚洲精品蜜芽影院| 成人毛片免费在线观看| 欧亚一级毛片免费看| 日木av无码专区亚洲av毛片| 四虎影视大全免费入口| a级午夜毛片免费一区二区| 亚洲国产最大av| 亚洲精品成人网站在线观看| 国产成人A在线观看视频免费 | 亚洲第一区视频在线观看| 国产精品无码免费视频二三区| 国产免费久久精品丫丫| 亚洲1234区乱码| 亚洲国产成人高清在线观看| 最近最新的免费中文字幕| 国产一二三四区乱码免费| 亚洲熟女综合色一区二区三区| 亚洲伊人久久大香线蕉综合图片| 性色av无码免费一区二区三区| 中文字幕成人免费高清在线视频| 亚洲乱码在线观看| 亚洲av鲁丝一区二区三区| 国产一区二区三区免费在线观看| 亚洲视频免费一区| A毛片毛片看免费| 国产亚洲精品2021自在线| 亚洲一级毛片免费在线观看| 亚洲精品无码不卡在线播HE | 在线观看无码AV网站永久免费| 久久久久久久久久免免费精品 | 亚洲gv猛男gv无码男同短文| 在线免费观看韩国a视频| 国产免费的野战视频| 免费成人在线电影| 国产精品无码永久免费888| 久久亚洲精品无码av| 亚洲一区二区三区在线观看蜜桃| 亚洲国产精品国自产拍电影| 亚洲色精品aⅴ一区区三区| 亚洲av日韩av欧v在线天堂|