私の Google のスキルは私を失敗させたようです。これが単純な質問である場合はお詫び申し上げます。
私は単に、現在実行中のスレッドを中断したい (「殺したい」と思います)。
私のクラスは Runnable を実装しており、run() メソッド内で、特定の条件が満たされた場合にスレッドを中断させたいと考えています。
乾杯!:)
私の Google のスキルは私を失敗させたようです。これが単純な質問である場合はお詫び申し上げます。
私は単に、現在実行中のスレッドを中断したい (「殺したい」と思います)。
私のクラスは Runnable を実装しており、run() メソッド内で、特定の条件が満たされた場合にスレッドを中断させたいと考えています。
乾杯!:)
コンテキストに応じてもう1つのオプション。Thread.interruptの方が優れている可能性がありますが、これは、クラス内にcancelbooleanを導入するだけでも役立つ場合があります。
public class MyLongRunningTask implements Runnable
{
private volatile boolean cancelled;
public void run() {
while (!cancelled) {
System.out.println("Do something...");
}
}
public void setCancelled(boolean cancelled) {
this.cancelled = cancelled;
}
}
次の 2 つの選択肢があります。
return;
最も正確で推奨される
Thread.currentThread().interrupt();