java多线程(五)中断 interrupt、interrupted 、isInterrupted
2017-08-24 16:31
459 查看
java多线程之中断:
(1) Thread.stop(), Thread.suspend(), Thread.resume() 和Runtime.runFinalizersOnExit() 这些终止线程运行的方法 。这些方法已经被废弃,使用它们是极端不安全的。
(2) Thread.interrupt() 方法是很好的选择。
下面详细解释一下这三个方法:
一:interrupt()方法
如果该线程没有处于阻塞状态的话,只是简单的设置中断标志为true,并不会真正的去中断线程。
如果该线程处于阻塞状态的话(也就是该线程调用了wait,sleep,join等),则会清除中断状态,即中断标志为false,同时会抛出一个
二:interrupted方法和isInterrupted方法
interrupted方法:静态的,如果该线程中断状态是true,第一次调用时返回true,然后清除中断状态,所以第二次调用时返回false。
isInterrupted方法:实例方法,只是简单的查询中断标志。
(1) Thread.stop(), Thread.suspend(), Thread.resume() 和Runtime.runFinalizersOnExit() 这些终止线程运行的方法 。这些方法已经被废弃,使用它们是极端不安全的。
(2) Thread.interrupt() 方法是很好的选择。
下面详细解释一下这三个方法:
一:interrupt()方法
如果该线程没有处于阻塞状态的话,只是简单的设置中断标志为true,并不会真正的去中断线程。
如果该线程处于阻塞状态的话(也就是该线程调用了wait,sleep,join等),则会清除中断状态,即中断标志为false,同时会抛出一个
InterruptedException。
二:interrupted方法和isInterrupted方法
interrupted方法:静态的,如果该线程中断状态是true,第一次调用时返回true,然后清除中断状态,所以第二次调用时返回false。
1 | public static boolean interrupted () {< 4000 /td> |
2 | return currentThread().isInterrupted( true ); |
3 | } |
1 | public boolean isInterrupted () { |
2 | return isInterrupted( false ); |
3 | } |
相关文章推荐
- Java Thread的中断以及interrupt()、isInterrupted()、interrupted
- Java中的线程中断:interrupt()、interrupted()和isInterrupted
- java 多线程5: java 终止线程及中断机制 (stop()、interrupt() 、interrupted()、isInterrupted())
- 线程中断,interrupt(),interrupted,isInterrupted()
- JAVA多线程之中断机制(stop()、interrupted()、isInterrupted())
- Thread类的interrupt,interrupted,isInterrupted方法的理解
- interrupt、interrupted和isInterrupted的区别
- 对Java中interrupt、interrupted和isInterrupted的理解
- interrupt、interrupted 、isInterrupted 详解
- JAVA多线程之中断机制stop()、interrupted()、isInterrupted()
- JAVA多线程之中断机制(stop()、interrupted()、isInterrupted())
- Java多线程-interrupt、interrupted 、isInterrupted 区别
- Thread的 interrupt,interrupted , iSinterrupted ,isAlive,join 用法
- java.lang.Thread类中interrupt、interrupted 、isInterrupted 区别
- 【多线程】interrupt、interrupted、isInterrupted方法
- 【Java】interrupt、interrupted和isInterrupted的区别
- interrupt、interrupted 、isInterrupted、InterruptedException
- 多线程——interrupt(),interrupted()和isInterrupted()
- java---interrupt、interrupted和isInterrupted的区别
- JAVA interrupt、interrupted和isInterrupted的区别