关于interrupted()函数
这种结构:
while(!interrupted() && more to be done)
{
do more work
}
interrupted() 是什么作用? 如果别的线程调用了该线程的interrupt()方法,他会自己停止吧,不需要interrupted()判断吧 ?

解决方案 »

  1.   

    interrupted() 是消灭线程了..
      

  2.   

    interrupted() 是把线程设为中断状态。interrupted() 是判断线程是否在中断状态,挑用该方法后会自动把线程中断状态设否。
    while(!interrupted() && more to be done)
    {
    do more work
    }意思是 当线程不再中断状态  && more to be done时继续运行!如果别的线程调用了该线程的interrupt()方法那么该线程会停止运行!
    interrupted()只是设置一个中断标志位,并不是真正的把线程设为操作系统中的中断状态。
    所以挑用interrupt()线程不会自己停止运行!