Java 基本之中断线程的理解.docVIP

  • 3
  • 0
  • 约1.55万字
  • 约 6页
  • 2016-10-15 发布于广东
  • 举报
Java 基本之中断线程的理解

Java?基本功之中断线程的理解有的时候我们需要一种规范的思路,使用规范的方法来解决一类问题。   我们首先要明白,线程终止的条件,有三种情况:   1.当线程的run方法执行方法体中最后一条语句后。   2.当执行retutrn语句返回时。   3.当出现了在方法中没有捕获的异常时。   在Java的早期版本中,还有一个stop方法,其他线程可以调用它终止线程,但是这个方法已经被弃用了,所以还在用的同学就不要继续用了。   我们的正确思路是,使用interrupt方法来终止我们的线程。   首先要理解interrupt方法做了什么:每一个线程都有一个中断状态,这是一个boolean标志,当线程调用了interrupt方法时,这个中断状态就会被置位。如果我们要检查中断状态,可以使用Thread.currentThread()。isInterrupted()来获得是否中断。   但是如果线程被阻塞了(sleep or wait),当我们调用了interrupt方法的时候,就会产生InterruptedException异常。这是我们可以利用的地方。   同样的,如果中断状态先被置位了,然后我们调用了sleep方法,线程不会休眠,相反,它将清除中断状态,然后抛出InterruptedException.   我们调用了interrupt并不意味着线程会终止,线程是否会终止,以及会如何继

文档评论(0)

1亿VIP精品文档

相关文档