public class ThreadDemo3 {
public static void main(String[] args) {
Resource res = new Resource();
Input input = new Input(res);
Output output = new Output(res);
Thread t1 = new Thread(input);
Thread t2 = new Thread(output);
t1.start();
t2.start();
}
}
class Resource {
String name;
String gender;
}
class Input implements Runnable {
Resource res;
Input(Resource res) {
this.res = res;
}
public void run(){
int x = 1;
while (true){
synchronized (Resource.class) {
if (x%2 == 0){
this.res.name = "Stephen Curry";
this.res.gender = "male";
} else {
this.res.name = "斯蒂芬 库里";
this.res.gender = "男人";
}
x++;
}
}
}
}
class Output implements Runnable {
Resource res;
Output(Resource res){
this.res = res;
}
public void run(){
while(true){
synchronized (Resource.class) {
System.out.println(this.res.name + "------" + this.res.gender);
}
}
}
}