黑马程序员技术交流社区

标题: 分享一下线程同步 [打印本页]

作者: 晓月清晖明    时间: 2015-4-14 17:59
标题: 分享一下线程同步
class Dome
{
        public String name;
        public String sex;
        public boolean flag=false;
       
        public synchronized void set(String name,String sex)
        {
                if(this.flag)
                        try{this.wait();}catch(Exception e){}
                this.name=name;
                this.sex=sex;
                this.flag=true;
                this.notify();
        }
        public synchronized void out()
        {
                if(!this.flag)
                        try{this.wait();}catch(Exception e){}
                System.out.println("姓名:"+this.name+"---------性别:"+this.sex);
                this.flag=false;
                this.notify();
        }
       
}
class InputDome implements Runnable
{
        public Dome d;
        InputDome(Dome d)
        {
                this.d=d;
        }
        public void run()
        {
                //int i=0;
                boolean f=true;
                while(true)
                {
                        if(f)
                        {
                                d.set("weixiaohui", "man");
                                f=false;
                        }
                        else
                        {
                                d.set("魏晓晖", "男");
                                d.name="魏晓晖";
                                d.sex="男";
                                f=true;
                        }
                }
                /*while(true)
                {
               
                        synchronized(d)
                        {
                                if(d.flag)
                                        try{d.wait();}catch(Exception e){}
                                if(f)
                                {
                                        d.name="weixiaohui";
                                        d.sex="man";
                                        f=false;
                                }
                                else
                                {
                                        d.name="魏晓晖";
                                        d.sex="男";
                                        f=true;
                                }
                                d.flag=true;
                                d.notify();
                                //i=(i+1)%2;
                        }
                       
                }*/
               
               
        }
}
class OutputDome implements Runnable
{
        public Dome d;
        OutputDome(Dome d)
        {
                this.d=d;
        }
        public void run()
        {
                while(true)
                {
                        d.out();
                }
                /*while(true)
                {
                        synchronized(d)
                        {
                                if(!d.flag)
                                        try{d.wait();}catch(Exception e){}
                                System.out.println("姓名:"+d.name+"---------性别:"+d.sex);
                                d.flag=false;
                                d.notify();
                        }

                }*/
        }
}
public class InputOutputDome {

        /**
         * @param args
         */
        public static void main(String[] args) {
                Dome d=new Dome();
                Thread t1=new Thread(new InputDome(d));
                Thread t2=new Thread(new OutputDome(d));
                t1.start();
                t2.start();

        }

}
大神不要笑哈,初来乍到,多多关照
作者: 晓月清晖明    时间: 2015-4-14 18:00
自己顶一下
作者: Yemint    时间: 2015-4-14 18:09
帅哥  大神  求拥抱  求交友  求暖心  你懂得
作者: Yemint    时间: 2015-4-14 18:12
顶楼上  楼上顶  跳楼赞啊




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2