假设我有一个这样的线程类:
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
}
}
}
如果当前线程被中断,它会继续进行交易吗?它还会去其他交易吗?感谢。
答案 0 :(得分:1)
如果当前线程被中断,它会继续进行交易吗?
是的,但是将设置中断标志(调用Thread.interrupted()
将返回true),但这不会影响正在执行的代码。
它还会去其他交易吗?
是的,出于与上述相同的原因。如果执行object.wait()
,则会执行其他事务,然后捕获InterruptedException
,假设您未在catch
块中返回。