Можете пояснить, почему я не могу использовать условие while (!thread.isInterrupted())
и вместо этого мне по сути надо использовать такое условие while (!Thread.currentThread.isInterrupted()) - ведь по сути я ж запускаю не текущий поток. а вложенный. Может быть я не особо понял, конечно, как с потоком внутри потока ведется работа....
Вот прочитал статью. Тут тоже работают с текущим потоком в цикле, но его и стартуют https://javarush.com/quests/lectures/questcore.level06.lecture09
а в этой задаче мы пишем public void stop() {
thread.interrupt();
}, но проверяем по currentThread - вообще не понимаю. Подскажите кто может
package com.javarush.task.task25.task2508;
public class TaskManipulator implements Runnable, CustomThreadManipulator {
Thread thread;
@Override
public void run() {
while (!thread.isInterrupted()) {
System.out.println(thread.getName());
try {
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
@Override
public void start(String threadName) {
thread = new Thread(this, threadName);
thread.start();
}
@Override
public void stop() {
thread.interrupt();
}
}