Есть поток реализованный следующим образом, при создании потока isRun=true, при выполнении определённых действий он зацикливается на sleep(), до того как изменится переменная isRun. Вопрос заключается в том, возможно ли это организовать без sleep()?. Так как много ресурсов отнимает поток во время этого зацикливания.
class UpdateThread extends Thread {
@Override
public void run() {
while (isRun) {
// выполняю определённые действия
isRun=false;
while (!isRun){ // зацикливаю поток, до внешнего изменения переменной
try {
sleep(100);
} catch (InterruptedException e) {
return;
}
}
}
}
Из официальной документации:
public synchronized void guardedJoy() {
// This guard only loops once for each special event, which may not
// be the event we're waiting for.
while(!joy) {
try {
wait();
} catch (InterruptedException e) {}
}
System.out.println("Joy and efficiency have been achieved!");
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Пробую JNI, наткнулся на такую статью: ссылка Там автор пишет такое:
Есть тестЦель теста: переводить страницу на другой язык(на странице снизу есть переключатель от гугл транслейта), и проверять как одно слово...
Есть код для проверки на палиндром, но работает он только с латинскими буквамиПочему так?