java线程通知

use*_*379 0 java multithreading

我有2个类,fe Class1和Class2

让我说我在Class1中这样做:

Class2 class2 = new Class2();
Thread thread = new Thread(class2);
thread.start();
...
thread.stop();
Run Code Online (Sandbox Code Playgroud)

现在我想在我的线程停止时检查Class2的run方法,我该怎么做?因此,当class1停止线程时,我想向class2发出一些警告它停止然后做一些事情

Tom*_*icz 5

  1. 不要使用stop(),使用interrupt().

  2. 如果你服从第1点,Class2你可以使用:


public void run() {
  if(Thread.currentThread().isInterrupted())
    //somebody interrupted me, ouch!
}
Run Code Online (Sandbox Code Playgroud)

  • @Thomas Uhrig:它仍然是最佳答案,因为它可以满足需要,并指出现有代码中存在严重问题. (2认同)