1

我的谷歌技能似乎让我失望了,如果这是一个简单的问题,我深表歉意。

我只是想中断(我猜是“杀死”它)我当前正在运行的线程。

我的类实现了 Runnable,并且在 run() 方法中,如果满足某个条件,我希望线程中断。

干杯! :)

4

2 回答 2

2

另一种选择取决于上下文。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;
   }
}
于 2012-11-15T13:38:34.807 回答
-1

你有两个选择:

return;

最正确和最推荐的

Thread.currentThread().interrupt();

于 2012-11-15T14:08:38.650 回答