0

假设我有一个这样的线程类:

public class ThreadClass extends Thread{
      Object object = new Object();    //relevant object

      public void run(){
          synchronized(object){
              if(/*condition is true*/){
                   //do transactions here
              }else{
                  try{
                      object.wait();
                   }catch(InterruptedException e){
                       //if thread was interrupted
                   }
              }

              //other transactions here
          }   
      }

}

如果当前线程被中断,它会继续它的事务吗?它还会在这里进行其他交易吗?谢谢。

4

1 回答 1

1

如果当前线程被中断,它会继续它的事务吗?

是的,但是会设置中断标志(调用Thread.interrupted()将返回 true),但这不会影响正在执行的代码。

它还会在这里进行其他交易吗?

是的,出于与上述相同的原因。假设你没有在块中返回,其他事务也将被执行,如果object.wait()被执行然后被捕获。InterruptedExceptioncatch

于 2013-01-11T03:40:42.693 回答