中断机制-中断协商机制、中断方法

4.1 线程中断机制

4.1.1 从阿里蚂蚁金服面试题讲起

Java.lang.Thread下的三个方法:

4.1.2 什么是中断机制

首先,一个线程不应该由其他线程来强制中断或停止,而是应该由线程自己自行停止,自己来决定自己的命运,所以,Thread.stop,Thread.suspend,Thread.resume都已经被废弃了

其次,在Java中没有办法立即停止一条线程,然而停止线程却显得尤为重要,如取消一个耗时操作。因此,Java提供了一种用于停止线程的协商机制----中断,也即中断标识协商机制

中断只是一种协作协商机制,Java没有给中断增加任何语法,中断的过程完全需要程序员自行实现。若要中断一个线程,你需要手动调用该线程interrupt方法,该方法也仅仅是将该线程对象的中断标识设置为true,接着你需要自己写代码不断检测当前线程的标识位,如果为true,表示别的线程请求这条线程中断,此时究竟应该做什么需要你自己写代码实现。

每个线程对象都有一个中断标识位,用于表示线程是否被中断;该标识位为true表示中断,为false表示未中断;通过调用线程对象的interrupt方法将该线程的标识位设置为true;可以在别的线程中调用,也可以在自己的线程中调用。

相关推荐
我滴老baby4 分钟前
企业级工具链设计从单一工具到分层工具体系的架构实践
java·开发语言·架构
Hello.Reader6 分钟前
算法基础(三)—— 插入排序从整理扑克牌到有序数组
java·算法·排序算法
罗超驿8 分钟前
3.快乐数专题学习笔记——双指针法在LeetCode 202题中的应用
java·算法·leetcode·职场和发展
liann11911 分钟前
Agent 内存马禁止 Attach JVM
java·jvm·安全·网络安全·系统安全·网络攻击模型·信息与通信
小雅痞16 分钟前
[Java][Leetcode middle] 36. 有效的数独
java·算法·leetcode
代码漫谈16 分钟前
JVM 参数调优:Spring Boot与JDK新特性的最佳结合
java·jvm·spring boot
卷毛的技术笔记20 分钟前
双十一零点扛过10倍流量洪峰:Sentinel与Redis+Lua的分布式限流深度避坑指南
java·redis·分布式·后端·系统架构·sentinel·lua
逻辑驱动的ken20 分钟前
Java高频面试考点场景题27
java·开发语言·面试·职场和发展·求职招聘
一氧化二氢.h37 分钟前
【java】的数组列表和集合的区别是什么
java·开发语言
PersistJiao37 分钟前
开发环境对比:VS Code、Cursor、IntelliJ IDEA
java·ide·intellij-idea