中断的线程会继续其事务吗?

时间:2013-01-11 03:16:19

标签: java multithreading

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

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
          }   
      }

}

如果当前线程被中断,它会继续进行交易吗?它还会去其他交易吗?感谢。

1 个答案:

答案 0 :(得分:1)

  

如果当前线程被中断,它会继续进行交易吗?

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

  

它还会去其他交易吗?

是的,出于与上述相同的原因。如果执行object.wait(),则会执行其他事务,然后捕获InterruptedException,假设您未在catch块中返回。