public class 线程通信 { 
        public static void main(String[]args){ 
                Rec r=new Rec(); 
                new Thread( new input(r)).start(); 
                new Thread( new output(r)).start(); 
        } 
} 
class Rec{ 
        private String name; 
        private char sex; 
        public String getName() { 
                return name; 
        } 
        public void setName(String name) { 
                this.name = name; 
        } 
        public char getSex() { 
                return sex; 
        } 
        public void setSex(char sex) { 
                this.sex = sex; 
        } 
        public Rec(){ 
 
        } 
 
} 
class input implements Runnable{ 
        private Rec r; 
        public input(Rec r){ 
                this.r=r; 
        } 
        public void run(){ 
                int i=0; 
                while(i<5000){ 
                        if(i%2==0){ 
 
                                r.setName("张三"); 
                                r.setSex('男'); 
                        } 
                        else{ 
 
                                r.setName("小花"); 
                                r.setSex('女'); 
                        } 
                        i++; 
                } 
        } 
} 
class output implements Runnable{ 
        private Rec r; 
        public output(Rec r){ 
                this.r=r; 
        } 
        public void run(){ 
                for(int i=0;i<5000;i++){ 
                        System.out.println(r.getName()+"------"+r.getSex()); 
                } 
        } 
}//为什么我执行了N遍怎么出现的都是小花-----女 偶尔才只出现一次 小花-----男 根本没看到输出张三-----男。这是为什么啊 |   
        
 
    
    
    
     
 
 |