- class Demo1
- {
- String name;
- String sex;
- boolean flag=false;
- }
- class Input implements Runnable
- {
- private Demo1 e;
- Input(Demo1 e)
- {
- this.e=e;
- }
- public void run()
- { int a=0;
- while(true)
- { synchronized(e)
- {
- if(e.flag)
- { try{e.wait();}catch(Exception e){}
- if(a==0)
- {
- e.name="zhangsan";
- e.sex="man";
- }
- else
- {
- e.name="丽丽";
- e.sex="女女女女女";
- }
- a = (a+1)%2;
- e.flag=true;
- e.notify();
- }
- }
-
- }
- }
- }
- class Output implements Runnable
- {
- private Demo1 e;
- Output(Demo1 e)
- {
- this.e=e;
- }
- public void run()
- {
- while(true)
- { synchronized(e)
- { if(!e.+flag)
- { try{e.wait();}catch(Exception e){}
- System.out.println(e.name+";;;;"+e.sex);
- e.flag=false;
- e.notify();
- }
- }
- }
- }
- }
- class Demo
- {
- public static void main(String[] args)
- {
- Demo1 e = new Demo1();
- Input in = new Input(e);
- Output out = new Output(e);
- Thread t = new Thread(in);
- Thread t1 = new Thread(out);
- t.start();
- t1.start();
- }
- }
复制代码 |