package lianxi;
public class Apple {
int n=3;
}
package lianxi;
public class getapple implements Runnable {
Apple a;
getapple(Apple a) {
this.a = a;
}
@Override
public void run() {
// TODO Auto-generated method stub
while (true) {
synchronized (a) {
if (a.n < 1) {
try {
a.wait();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
a.n--;
System.out.println("孩子拿了" + (a.n)+"个苹果");
a.notify();
try {
Thread.sleep(100);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}package lianxi;
public class putapple implements Runnable {
Apple a;
putapple(Apple a) {
this.a = a;
}
@Override
public void run() {
// TODO Auto-generated method stub
while (true) {
synchronized (a) {
if (a.n >= 6) {
try {
a.wait();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
a.n++;
System.out.println("父母放了" + a.n + "个苹果");
a.notify();
try {
Thread.sleep(100);
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
}
}
package lianxi;
public class appletest {
public static void main(String[] args) {
// TODO Auto-generated method stub
Apple a=new Apple();
putapple p=new putapple(a);
getapple g=new getapple(a);
Thread t1=new Thread(p);
Thread t2=new Thread(g);
t2.start();
t1.start();
}
}