25 lines
564 B
Java
25 lines
564 B
Java
package semaphore;
|
|
|
|
import java.util.List;
|
|
import java.util.ArrayList;
|
|
import java.util.concurrent.Semaphore;
|
|
|
|
public class ValetQueue implements Queue<Car> {
|
|
private final List<Car> waitingCars;
|
|
private final int queueMaxSize;
|
|
private final Semaphore full, empty, mutex;
|
|
|
|
public ValetQueue(int queueMaxSize) {
|
|
this.queueMaxSize = queueMaxSize;
|
|
waitingCars = new ArrayList<>(queueMaxSize);
|
|
empty = new Semaphore (queueMaxSize);
|
|
full = new Semaphore(0);
|
|
mutex = new Semaphore(1);
|
|
}
|
|
|
|
// TODO: Implement method put
|
|
|
|
// TODO: Implement method take
|
|
|
|
}
|