假设车库有3个车位(可以通过boolean[]数组来表示车库)可以停车,写一个程序模拟多个用户开车离开,停车入库的效果。注意:车位有车时不能停车。
1)使用阻塞队列来实现(BlockingQueue<T>)
Producer类
package com.多线程停车问题;
import java.util.concurrent.BlockingQueue;
public class Producer extends Thread{
private BlockingQueue<Boolean>bq;
private String name;
public Producer(BlockingQueue<Boolean> bq, String name) {
super();
this.bq = bq;
this.name = name;
}
public void run(){
try{
bq.put(true);
System.out.println(this.name+"停入");
}catch(InterruptedException e){
e.printStackTrace();
}
}
}
Consumer类
package com.多线程停车问题;
import java.util.concurrent.BlockingQu