先对比下2函数的源码:
public static boolean interrupted() { return currentThread().isInterrupted(true); } public boolean isInterrupted() { return isInterrupted(false); } /** * Tests if some Thread has been interrupted. The interrupted state * is reset or not based on the value of ClearInterrupted that is * passed. */ private native boolean isInterrupted(boolean ClearInterrupted);从源码中可以看出,2函数都是调用了Native函数private native boolean isInterrupted(boolean ClearInterrupted);,前者调用传的参数为true,所以,调用interrupted函数,会在检测线程中断状态标志是否为true后,还会将中断状态标志重置为false 。而isInterrupted函数只是检测线程中断状态标志 。
推荐阅读
- Java常量、变量、数据类型详解
- Android中的线程捕获
- JavaScript sort使用方法
- javascript必会知识及面试重点
- Web前端开发基础:HTML、CSS、JavaScript分别实现什么功能?
- Java基于JWT的token认证
- 10个 javascript精简代码集合
- Java BiFunction 接口实例
- Java对象的内存分配过程是如何保证线程安全的?
- JavaScript自定义事件
