如何优雅的结束线程~~interrupt()、volatile

本文详细介绍了Java中如何优雅地结束线程,对比了`interrupt()`、`isInterrupted()`和`interrupted()`的区别。讨论了在wait、join、sleep等方法中如何处理中断,并探讨了不推荐使用`stop()`、`suspend()`和`resume()`的原因。同时,提到了`volatile`在线程中断中的应用及其局限性,强调了精确中断线程需要各线程间的协同配合。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

优雅

在这里插入图片描述
对程序员来说优雅就是能够掌控代码的一切!!!
在java中有三个很容易让初学者混乱的三个方法
interrupt()、isInterrupted()和interrupted(),他们到底有什么区别呢?接下来一来看看吧!

interrupt()

public void interrupt()
方法描述---->>>>>
中断此线程。

如果此线程在调用 Object 类的**wait(), wait(long), 或者 wait(long, int)的方法 ,或 join(), join(long), join(long, int), sleep(long), 或者 sleep(long, int), ,**那么它的中断状态将被清除并且它 将抛出 InterruptedException.

如果此线程在 I/O 操作中被阻塞 InterruptibleChannel那么通道将被关闭,线程的中断 状态将被设置,并且线程将收到一个 ClosedByInterruptException.</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CodeMartain

祝:生活蒸蒸日上!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值