-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathStop.java
More file actions
33 lines (26 loc) · 930 Bytes
/
Copy pathStop.java
File metadata and controls
33 lines (26 loc) · 930 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
//This part of the code helps me navigate the need for a bus by a passenger
//I am practising code safety by synchronising the notifications from the passengers and the availability of buses
//also the picking of passengers buy the bus
import java.util.*;
public class Stop {
//Kamva
private final Queue<Passenger> waitingPassengers;
private final String name;
public Stop(String name) {
this.name = name;
this.waitingPassengers = new LinkedList<>();
}
public synchronized void addPassenger(Passenger passenger) {
waitingPassengers.offer(passenger);
notifyAll();
}
public synchronized Passenger getNextPassenger() {
return waitingPassengers.poll();
}
public synchronized boolean hasWaitingPassengers() {
return !waitingPassengers.isEmpty();
}
public String getName() {
return name;
}
}