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遍怎么出现的都是小花-----女 偶尔才只出现一次 小花-----男 根本没看到输出张三-----男。这是为什么啊 |
|