我的谷歌技能似乎让我失望了,如果这是一个简单的问题,我深表歉意。
我只是想中断(我猜是“杀死”它)我当前正在运行的线程。
我的类实现了 Runnable,并且在 run() 方法中,如果满足某个条件,我希望线程中断。
干杯! :)
我的谷歌技能似乎让我失望了,如果这是一个简单的问题,我深表歉意。
我只是想中断(我猜是“杀死”它)我当前正在运行的线程。
我的类实现了 Runnable,并且在 run() 方法中,如果满足某个条件,我希望线程中断。
干杯! :)
另一种选择取决于上下文。Thread.interrupt 可能会更好,但是通过在你的类中引入一个取消布尔值,这个也可能很有用。
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;
}
}
你有两个选择:
return;
最正确和最推荐的
Thread.currentThread().interrupt();