Я пишу поток слушателя для сервера, и на данный момент я использую:
while (true){
try {
if (condition){
//do something
condition=false;
}
sleep(1000);
} catch (InterruptedException ex){
Logger.getLogger(server.class.getName()).log(Level.SEVERE, null, ex);
}
}
С приведенным выше кодом, я сталкиваюсь с проблемами с функцией запуска, использующей весь цикл цикла процессора. Функция сна работает, но, похоже, это временное исправление, а не решение.
Есть ли какая-то функция, которая блокируется до тех пор, пока переменная 'condition' не станет "true"? Или непрерывный цикл стандартного метода ожидания до изменения значения переменной?