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

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

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

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

Вместо Sleep использовать ScheduledThreadPoolExecutor.
Ответ написан
@gd1xza
psevdokod
start_sleep_time = microtime(now)
while start_sleep_time < microtime(now){}
Ответ написан
BorLaze
@BorLaze
Java developer
нельзя так нельзя

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

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


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

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

Войти через центр авторизации
Похожие вопросы