interrupt:
调用方法,是线程处于中断状态,但是这个方法只是让线程设置为中断状态,并不会真正的停止线程。支持线程中断的方法就是在坚持线程中断状态,一旦线程中断状态被设置为中断,就会抛出异常。
interrupted 、isInterrupted 区别
public static boolean interrupted () {
return currentThread().isInterrupted(true);
}
public boolean isInterrupted () {
return isInterrupted( false);
}
区别:这两个方法都会调用同一个方法,只不过是一个传值为true,一个传值为false。
interrupted是作用于当前线程,isInterrupted 作用于当前方法的对象线程上的。
如果这个参数为true,说明返回线程的状态位后,要清掉原来的状态位(恢复成原来情况)。这个参数为false,就是直接返回线程的状态位。
这两个方法很好区分,只有当前线程才能清除自己的中断位(对应interrupted()方法)
本文转自 豆芽菜橙 51CTO博客,原文链接:http://blog.51cto.com/shangdc/1929162