我想立即停止正在运行的线程。这是我的代码:
甲类:
public class A() {
public void methodA() {
For (int n=0;n<100;n++) {
//Do something recursive
}
//Another for-loop here
//A resursive method here
//Another for-loop here
finishingMethod();
}
}
B类:
public class B() {
public void runEverything() {
Runnable runnable = new Runnable() {
@Override
public void run() {
try {
Thread.sleep(1000);
A a = new A();
a.methodA();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
};
Thread thread = new Thread(runnable);
thread.start();
}
我的问题是,即使在线程完成之前,我也需要能够停止 B 类中的线程。我已经尝试过 interrupt() 方法,但这并没有停止我的线程。我也听说过使用共享变量作为停止线程的信号,但我认为在我的进程中使用长递归和 for 循环,共享变量将无效。
任何的想法 ?提前致谢。