Как прервать работу потока(остановить поток)

Я делал програму на Java с использованием нескольких потоков, и столкнулся с проблеммой: я не знаю как прервать работу потока. Я пытался это сделать с помощью метода stop() но потоку как-будто просто пофигу(хотя я проверял в отдельном файле и там он сработал), и метод interrupt() тоже не работает, не знаю почему. Короче подскажите способ, желательно попроще, как прервать работу потока.


Ответы (1 шт):

Автор решения: AndreyKirov

Внутри метода run() потока можно проверять в цикле значение isInterupted:

public void run() {
    int i=0;
    while(!isInterrupted()){
        System.out.println(i++);
        try {
            sleep(1000);
        } catch (InterruptedException e) {
            break; 
        }
    }
}

и вызывать из основного потока метод interupt(), когда нужно прервать поток.

→ Ссылка