Решил проверить срабатывание isInterrupted() следующим кодом:
public class Solution {
public static volatile int countSeconds = 3;
public static void main(String[] args) throws InterruptedException {
RacingClock clock = new RacingClock();
Thread.sleep(3500);
System.out.println(clock.isInterrupted());
clock.interrupt();
System.out.println(clock.isInterrupted());
}
public static class RacingClock extends Thread {
public RacingClock() {
start();
}
public void run() {
}
}
}
И столкнулся с тем, что System.out.println(clock.isInterrupted()) после вызова clock.interrupt() выводит false. В чем может быть причина?
Потому, что поток который вы пытаетесь прервать уже завершился
public void interrupt()
Interrupting a thread that is not alive need not have any effect.
Прерывание потока, который уже завершился не имеет никакого эффекта
public boolean isInterrupted()
A thread interruption ignored because a thread was not alive at the time of the interrupt will be reflected by this method returning false.
Прерывание потока игнорируется, если поток был завершен к этому времени. Поэтому в этом случае метод возвращает false
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Все страницы отображаются нормально, только в одной отображается все кроме текста добавления который подтягивается с базы и отображения...
При ping-е соединения выходит ошибка: