有一辆班车除司机外只能承载80个人,假设前中后三个车门都能上车,如果坐满则不能再上车。
请用线程模拟上车过程并且在控制台打印出是从哪个车门上车以及剩下的座位数。
比如:
(前门上车—还剩N个座…)
package text;
public class Demo02 {
public static void main(String[] args) {
Bus b=new Bus();
Thread t1=new Thread(b);
Thread t2=new Thread(b);
Thread t3=new Thread(b);
t1.setName("前门");
t2.setName("中门");
t3.setName("后门");
t1.start();
t2.start();
t3.start();
}
}
class Bus implements Runnable {
int num=80;
Object obj=new Object();
@Override
public void run() {
while(true) {
synchronized (obj) {
if(num>0) {
System.out.println(Thread.currentThread().getName()+"上车--还剩"+(--num)+"个座");
}else {
break;
}
}
}
}
}```