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

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;可以在别的线程中调用,也可以在自己的线程中调用。

相关推荐
肉夹馍不加青椒1 小时前
第三十三天(信号量)
java·c语言·算法
现在,此刻1 小时前
面试题储备-MQ篇 2-说说你对RocketMQ的理解
java·rocketmq·java-rocketmq
诗句藏于尽头1 小时前
更改jar素材后打包
java·jar
SimonKing1 小时前
开源新锐:SQL玩转搜索引擎?Manticore颠覆你的认知
java·后端·程序员
中国lanwp2 小时前
Jenkins Pipeline中参数化构建
java·jenkins
记录Java学习的三木2 小时前
Java:将视频上传到腾讯云并通过腾讯云点播播放
java
qianmoq2 小时前
第01章:Stream是什么?5分钟让你的循环代码变优雅
java
UserNamezhangxi3 小时前
kotlin 协程笔记
java·笔记·kotlin·协程
咖啡里的茶i3 小时前
数字化图书管理系统设计实践(java)
java·课程设计
九转苍翎3 小时前
Java内功修炼(2)——线程安全三剑客:synchronized、volatile与wait/notify
java·thread