这是一个多线程就是一个输出一个输入的问题
为什么不是一个交替一个出现的
为什么实现不了毕老师的功能
我晕- class res
- {
- String name;
- String sex;
- boolean flg=false;}
- class input implements Runnable
- {res s;
- input(res s){this.s=s;}
- public void run()
- {int x=0;
- while(true)
- {synchronized(s)
- {if(s.flg)
- try{s.wait();}
- catch(Exception e){}
- if(x==0)
- {s.name="mike";s.sex="man";}
- else
- {s.name="李丽丽里";s.sex="女女女女";}
- x=(x+1)%2;
- s.flg=false;s.notify();}
- }
- }
- }
- class output implements Runnable
- {
- res s;
- output(res s){this.s=s;}
- public void run()
- {
- while(true)
- {synchronized(s)
- {if(!s.flg)
- try{s.wait();}catch(Exception e){}
- System.out.println(s.name+"....."+s.sex);
- s.flg=true;s.notify();
- }
- }}
- }
- class tx
- {
- public static void main(String[] args)
- {
- res s=new res();
- input in=new input(s);
- output out=new output(s);
- Thread t1=new Thread(in);
- Thread t2=new Thread(out);
- t1.start();
- t2.start();
- }
- }
复制代码 |
|