mal1kov
@mal1kov
Притворись дураком 5 минут, чем быть им всю жизнь.

Как приостановить работу кода без sleep() в JAVA?

Дело в том, что я выполняю такое задание и в неё запрещено использовать метод sleep из Threading.

Создайте Enum, который представляет цвета светофоров. Напишите программу, чтобы светофор не останавливался 3 минуты. В сообщении говорится: «Стоп» в течение 4 секунд, когда горит красный индикатор, «Подождите» в течение 3 секунд, когда горит желтый индикатор, и «Поехали» в течение 5 секунд, когда горит зеленый индикатор.
Примечание. Метод sleep () класса Thread использовать нельзя.
  • Вопрос задан
  • 163 просмотра
Пригласить эксперта
Ответы на вопрос 3
sergey-gornostaev
@sergey-gornostaev Куратор тега Java
Седой и строгий
Неизвестен контекст, поэтому не совсем понятно, чего ждёт от вас тот, кто дал задание. Может быть, стоит использовать ScheduledExecutorService.
Ответ написан
romesses
@romesses
Backend инженер
Возможно, имелось ввиду использовать событийное программирование и реализовать это
конечными автоматами
traffic_light.jpg

Вместо Sleep использовать ScheduledThreadPoolExecutor.
Ответ написан
Комментировать
BorLaze
@BorLaze
Java developer
нельзя так нельзя

пишем собственный sleep():

sleep(int millis) {
  старт = текущее время системы в миллисекундах
  пока (текущее время < старт + millis) 
    ;
}


используем нашу функцию, где надо
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы