Такое дело. Есть список с пассажирами, которые ждут, пока каждого разбудит поток. Но когда он ходит по ним в итерации, просыпается только один. Почему?
На картинке ниже в логах видно, что пассажиры с айди 19 и 12 выходят на одном этаже - но сообщает об этом только один пассажир
Как это выглядит в коде:
//смотрим, какие пассажиры доехали
passengerArrived = passengers.stream()
.filter(p -> p.getDestination() == currentFloor)
.collect(Collectors.toList());
//удаляем тех пассажиров, которых мы доставили
passengers.removeAll(passengerArrived);
//"будим" пассажиров, чтобы те вышли
for (Passenger pass : passengerArrived) {
synchronized (pass) {
pass.notify();
}
}
//------------------------
class Passenger {
///some code
@SneakyThrows
@Override
public void run() {
synchronized (this) {
log.info("Passenger {} waiting an elevator...", id);
wait();
log.info("Passenger {} entered elevator!", id);
wait();
log.info("Passenger {} arrived his floor - {}! Good!", id, destination);
}
}
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
При несуществующем RequesMapping (к примеру /fsdghfg/dsfgh/sdfghjk/dsfghjk) возвращается 500 вместо 404, ни один из Методов при этом не обрабатывается
Такая проблема: были созданы сервер и клиент и каждый по-отдельности помещён в jar пакетКак запустить сервер и клиент на терминале (Linux)? По отдельности...
Метод About() переопределен, экземпляр класса создан и данные внесеныПочему метод dino
Разрабатываю HTMLCalendar с событиями на Django и не знаю как перевести месяц на русский язык, вывод в английском формате, а мне нужно на русском, может...