Вроде, оба метода проверяют флаг, хотел ли прервать какой-то поток, тот поток, в котором метод был вызван. Поправьте, если я не прав.
Понятно что isInterrupted()
не статический и его надо вызывать на объекте типа Thread
, а interrupted()
статический и можно написать просто Thread.interrupted()
. Но в чем все таки разница? И в каком потоке флаг будет проверятся, если мы применяем Thread.interrupted()
, имея в виду что к объекту статические методы не привязаны?
Достаточно прочитать javadoc
/**
* Tests whether the current thread has been interrupted. The
* <i>interrupted status</i> of the thread is cleared by this method. In
* other words, if this method were to be called twice in succession, the
* second call would return false (unless the current thread were
* interrupted again, after the first call had cleared its interrupted
* status and before the second call had examined it)...
*/
public static boolean interrupted()
Thread.interrupted()
вдобавок к проверке снимает флаг прерывания. thread.isInterrupted()
этого не делает, плюс нестатический доступ позволяет проверять другие треды. Фактически, это еще и ограничивает возможность снять флаг прерывания у других тредов (нельзя "украсть" прерывание другого треда).
Метод interrupted
является статическим и проверяет был ли установлен флаг прерывания у текущего потока. При этом флаг прерывания после вызова этого метода сбрасывается.
Метод isInterrupted()
позволяет проверить флаг прерывания у потока, для которого этот метод был вызван. При этом сам флаг не сбрасывается.
И в каком потоке флаг будет проверятся, если мы применяем Thread.interrupted(), имея в виду что к объекту статические методы не привязаны?
Будет проверен флаг прерывания у текущего потока, в котором и происходит эта проверка.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Здравствуйте уважаемые форумчане, извиняюсь сразу за глупый вопрос, но ответа пока на него не нашел
Периодически зависает X-серверКаким образом можно проверить завис он или работает? Проверку необходимо реализовать на python, но и не откажусь...