Я пытаюсь что-то сделать в Java, и мне нужно что-то для ожидания / задержки на некоторое количество секунд в цикле while.
while (true) { if (i == 3) { i = 0; }
ceva[i].setSelected(true);
// I need to wait here
ceva[i].setSelected(false);
// I need to wait here
i++; }
Я хочу создать пошаговый секвенсор.
Как мне сделать задержку в Java?
Переведено автоматически
Ответ 1
Если вы хотите сделать паузу, используйте java.util.concurrent.TimeUnit:
TimeUnit.SECONDS.sleep(1);
Перейти в режим ожидания на одну секунду или
TimeUnit.MINUTES.sleep(1);
Перейти в спящий режим на минуту.
Поскольку это цикл, это создает неотъемлемую проблему - дрейф. Каждый раз, когда вы запускаете код, а затем переходите в режим сна, вы будете немного отклоняться от выполнения, скажем, каждую секунду. Если это проблема, то не используйте sleep.
Кроме того, sleep не очень гибко, когда дело доходит до управления.