isInterrupted和interrupted的区别

本文详细介绍了Java中线程的isInterrupted和interrupted方法的区别。isInterrupted()方法不改变线程中断状态,而interrupted()方法会清除中断状态。文中通过测试代码展示了两者在不同情况下的返回结果。
摘要由CSDN通过智能技术生成

isInterrupted和interrupted的区别:1.后者是静态方法,前者不是; 2.前者只反映线程是否被中断,而不改变线程的状态;后者不仅反映线程是否被中断,在线程为中断状态时调用此方法还会清除线程的中断状态。

以下是具体说明和测试:
1.isInterrupted
Java中isInterrupted()方法的注释如下:

public boolean isInterrupted()

Tests whether this thread has been interrupted. The interrupted status of the thread is unaffected by this method. 
A thread interruption ignored because a thread was not alive at the time of the interrupt will be reflected by this method returning false.

Returns:true if this thread has been interrupted; false otherwise.

注释中说到:测试该线程是否已被中断。线程的中断状态不受此方法的影响。线程中断被忽略,因为在中断时线程不是活动的,这将通过返回false的方法反映出来。

下面具体测试一下:

public static void main(String[
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值