@elian.swift
В Java поток можно остановить или уничтожить с помощью методов interrupt() и stop().
Метод interrupt() отправляет прерывание потоку, устанавливая у него флаг прерывания. Поток может сам определить, как и когда реагировать на это прерывание, и прервать свою работу.
Пример использования метода interrupt():
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
Thread thread = new Thread(new Runnable() {
public void run() {
try {
while (!Thread.currentThread().isInterrupted()) {
// Выполняем задачу в цикле
}
} catch (InterruptedException e) {
// Обработка исключения прерывания
}
}
});
thread.start(); // Запускаем поток
// Останавливаем поток после некоторого времени
Thread.sleep(1000);
thread.interrupt();
|
Метод stop() является устаревшим и его использование не рекомендуется, потому что он небезопасен и может привести к непредсказуемым последствиям. Он прерывает поток принудительно, без возможности выполнить какие-либо завершающие операции или корректно закончить работу.