类1
public class Cangku {
public static int num = 50;
private String name;
Cangku(String name){
this.name = name;
}
public synchronized void cai(){
while (num == 100){
try {
this.wait();
notify();
}
catch (InterruptedException e){
e.getStackTrace();
}
}
for(int i = 1;i<=(100-num);i++){
System.out.println("正在采集一个苹果");
num++;
System.out.println("目前仓库拥有苹果"+ num +"个");
}
}
public synchronized void mai(){
while (num==0){
try {
this.wait();
this.notify();
}
catch (InterruptedException e){
e.getMessage();
}
}
for(int i = 1;i<=num;i++){
System.out.println("正在销售一个苹果");
num--;
System.out.println("目前仓库拥有苹果"+ num +"个");
}
}
}
类2
public class Test5 implements Runnable{
private Cangku cangku;
Test5(Cangku cangku){
this.cangku = cangku;
}
@Override
public void run() {
cangku.cai();
}
}
类3
public class Test6 implements Runnable {
private Cangku cangku;
Test6(Cangku cangku){
this.cangku = cangku;
}
@Override
public void run() {
cangku.mai();
}
}
类4
public class Test7 {
public static void main(String args[]){
Cangku cangku = new Cangku("苹果仓库");
Thread thread = new Thread(new Test5(cangku),"采集线程");
thread.start();
Thread thread1 = new Thread(new Test6(cangku),"销售线程");
thread1.start();
}
}