@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() является устаревшим и его использование не рекомендуется, потому что он небезопасен и может привести к непредсказуемым последствиям. Он прерывает поток принудительно, без возможности выполнить какие-либо завершающие операции или корректно закончить работу.
@elian.swift
Для остановки или уничтожения потока в Java рекомендуется использовать метод interrupt() вместо метода stop(), так как метод interrupt() является более безопасным и позволяет потоку корректно завершить работу.