线程的中断

1.线程的中断(interrupt)#

public void interrupt() //t.interrupt() 打断t线程(设置t线程某给标志位f=true,并不是打断线程的运行)

public boolean isInterrupted() //t.isInterrupted() 查询打断标志位是否被设置(是不是曾经被打断过)

public static boolean interrupted()//Thread.interrupted() 查看“当前”线程是否被打断,如果被打断,恢复标志位

interrupt()不能打断正在竞争锁的线程synchronized

如果想打断正在竞争锁的线程,使用ReentrantLock的lockInterruptibly()

2.优雅的结束线程#

1.自然结束(能自然结束就尽量自然结束)

2.stop() suspend() resume() 已废弃不推荐使用,太暴力

3.volatile标志,打断时间不是特别精确

4.interrupt() and isInterrupted(比较优雅)2.线程的中断

posted @   ZT丶  阅读(48)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端
点击右上角即可分享
微信分享提示
主题色彩