メソッドの呼び出しに 10 秒以上かかる場合は、それを強制終了して先に進みたいと思います。
この問題を解決する唯一のオプションはマルチスレッドですか?
私が非常に慣れていないマルチスレッドを使用する場合、run メソッドには次の 1 つのメソッドのみが含まれます。myMethod() が無限ループに陥った場合、このスレッドを中断する方法はありますか?
public void run() {
myMethod();
}
myMethod() が以下であり、それを変更することはオプションではないと仮定しましょう。
while(true){
System.out.println("Thinking.");
for (int i = 0; i < 100000; i++) {
//wasting time
}
}
私は Mik378 のソリューションを使用していましたが、myMethod が InterruptedException 例外をスローしないため、これはうまくいかないと思います。