interrupted isinterrupted interrupt

本文解析了Java中线程的中断机制,包括interrupted()、isInterrupted()及interrupt()三个方法的区别与应用场景,同时介绍了如何处理由这些方法引发的中断异常。

在java Thread中,关于中断有三个方法,经常搞混,现在简单分析:

 interrupted

类方法  ,常用于线程内部检测当前线程是否 中断,并且清除中断标志,也就是说  如下代码,打印的是false。

if(Thread.interrupted()){
    System.out.println(Thread.interrupted());
}

isinterrupted

实例方法,用于在线程外线程 间调用,检测其它线程是否处于中断。

 

interrupt

实例 方法,一般用于线程间调用 t.interrupt,也可以在本线程调用 ,如下。

Thread.currentThread().interrupt();

 

而在使用过程中,有些方法会自动抛出 中断异常,如sleep,await 等,而对于 方法内部自己抛出的异常,需要主动的catch或者继续抛出该异常。

转载于:https://my.oschina.net/ovirtKg/blog/760053

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值