実行中のスレッドをすぐに停止したい。これが私のコードです:
クラス A :
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 ループがあると、共有変数は効果的ではないと思います。
何か案が ?前もって感謝します。