class Resource{
String name;
String sex;
}
class Input implements Runnable{
Resource r;
public Input(Resource r) {
this.r=r;
}
@Override
public void run() {
// TODO Auto-generated method stub
int x=0;
while(true) {
synchronized (r) {
if(x==0) {
r.name="mike";
r.sex="男";
}else {
r.name="丽丽";
r.sex="女女女女女女";
}
}
x=(x+1)%2;
}
}
}
class Output implements Runnable{
Resource r;
public Output(Resource r) {
this.r=r;
}
@Override
public void run() {
// TODO Auto-generated method stub
while(true) {
synchronized (r) {
System.out.println(r.name+"..."+r.sex);
}
}
}
}
public class ResourceDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
Resource r=new Resource();
Input in=new Input(r);
Output out=new Output(r);
Thread t1=new Thread(in);
Thread t2=new Thread(out);
t1.start();
t2.start();
}
}
String name;
String sex;
}
class Input implements Runnable{
Resource r;
public Input(Resource r) {
this.r=r;
}
@Override
public void run() {
// TODO Auto-generated method stub
int x=0;
while(true) {
synchronized (r) {
if(x==0) {
r.name="mike";
r.sex="男";
}else {
r.name="丽丽";
r.sex="女女女女女女";
}
}
x=(x+1)%2;
}
}
}
class Output implements Runnable{
Resource r;
public Output(Resource r) {
this.r=r;
}
@Override
public void run() {
// TODO Auto-generated method stub
while(true) {
synchronized (r) {
System.out.println(r.name+"..."+r.sex);
}
}
}
}
public class ResourceDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
Resource r=new Resource();
Input in=new Input(r);
Output out=new Output(r);
Thread t1=new Thread(in);
Thread t2=new Thread(out);
t1.start();
t2.start();
}
}