您的位置:首页 > 编程语言 > Java开发

Java线程:线程中断

2015-12-21 16:23 453 查看
  interrupt方法可以用来请求终止线程。

  当对一个线程调用interrupt方法时,线程的中断状态被置位。这时每个线程都有boolean标志。每个线程都应该不时的检查这个标志,以判断线程是否被中断。

  要想弄清楚中断状态是否被置位,首先调用静态的Thread.currentThread方法获得当前线程,然后调用isInterrupted方法:

while (!Thread.currentThread().isInterrupted()&&more work to do)
{
do more work
}


  当在一个被堵塞的线程(调用sleep或wait)上调用interrupt方法时,堵塞调用将会被Interrupted Exception 异常中断。

注意:

  1 一个被中断的线程不一定被终止。中断一个线程只不过是引起它的注意。被中断的线程可以决定如何响应中断。

  2 有两个类似的中断线程的方法interrupted和isInterrupted。Interrupted是一个静态方法,它检测当前的线程是否被中断,而且会清除该线程的中断状态。而isInterrupted可用来检验是否有线程被中断,并且不会改变中断状态。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: