while (!closingTime){
depot.enterramp();
}
Для запуска функции, как показано ниже
synchronized (list) {
while (list.size() == 0) {
System.out.println(":: DEPOT\t:: " + "NO BUS FOUND IN THE APPROACHES DEPOT, WAITING THE BUS COMING");
try {
list.wait();
} catch (InterruptedException iex) {
iex.printStackTrace();
}
}
В настоящее время моя ветка ожидает уведомления () [Этот код находится в enterramp ()]
public class Clock extends Thread {
public void run() {
try {
Thread.sleep(15000);
notifyTime();
} catch (Exception e) {
}
}
public synchronized void notifyTime() {
System.out.println(":: CLOCK\t:: ALERT ALERT !!! DEPOT HAVE TO CLOSE IN 30 MINUTES, NO MORE ACCEPTING THE BUSES");
closingTime = true;
return;
}
Это часы сна в течение 15 секунд и сделать время закрытия истинным
synchronized (list) {
list.add(bus);
list.notify();
}
Это моя часть уведомления
Проблема, с которой я сталкиваюсь, заключается в том, что при закрытии == true, но поток застревает в области wait (), как я могу заставить поток выйти из wait (), когда мое время закрытия == true ???