当前位置: 首页 > news >正文

Java并发 | 12.[方法] interrupt( )打断

文章目录

  • 1. t1.interrupt( ) - 打断线程
  • 2. t1.isInterrupted( ) - 获取打断标记
    • 2.1. 获取其他线程的打断标记
    • 2.2. 获取本线程的打断标记
  • 3. 示例代码

1. t1.interrupt( ) - 打断线程

执行该方法后,会根据 t1 当前正处的状态执行不同的操作:

  • 若 t1 正处于 WaitingTimed Waiting 状态,t1线程会抛出 InterruptedException,并且 会将打断标记重置为false
  • 若 t1 正处于 Runnable 状态,t1会照常运行,仅仅只是 将打断标记设置为true

2. t1.isInterrupted( ) - 获取打断标记

2.1. 获取其他线程的打断标记

如果希望在 main 线程中获取 t1 的打断标记,直接调用 t1.isInterrupted( ) 即可:

t1.isInterrupted();		// true 或 false

2.2. 获取本线程的打断标记

如果希望获取本线程的打断标记,则需要先通过 Thread.currentThread( ) 获取当前线程对应的对象:

Thread t1 = new Thread(()-> {
   // 获取当前线程对象
    Thread curThread = Thread.currentThread();
    
    // 输出打断标记
    System.out.println(curThread.isInterrupted());
});

3. 示例代码

image-20220830163437981

image-20220830163616611

相关文章:

  • SpringBoot 事务开发代码及注意事项
  • onnx: step = 1 is currently not supported
  • webpack原理篇(六十五):实战开发一个压缩构建资源为zip包的插件
  • 数学建模学习(97):花授粉算法(FPA)寻优
  • 鲈鱼的面试题库+答案
  • CREO:CREO软件之零件【工具(调查/模型意图/实用工具)】、【视图(可见性/方向/模型显示/显示/窗口)】的简介及其使用方法(图文教程)之详细攻略
  • 【单细胞高级绘图】09.细胞通讯_两组比较_连线图
  • Tensorflow笔记——基于Mnist数据集图片分类的神经网络
  • 情侣积分微信小程序零基础开发教程(附代码及开发指南)
  • 为什么重写equals方法必须也要重写hashCode方法
  • 只要十分钟!带你了解Redis Cluster
  • CREO:CREO软件之零件【造型】样式栏之操作、平面、曲线、曲面、分析、优先选项的简介及其使用方法(图文教程)之详细攻略
  • app毕业设计开题报告基于Uniapp实现的美食餐厅订单点餐APP
  • 基于51单片机十字路口交通灯_5s黄灯闪烁
  • Java并发 | 13.[设计模式] 两阶段终止线程
  • docker-consul
  • PaddlePaddle-GitHub的正确打开姿势
  • Python利用正则抓取网页内容保存到本地
  • Redis的resp协议
  • tensorflow学习笔记3——MNIST应用篇
  • 从0实现一个tiny react(三)生命周期
  • 力扣(LeetCode)965
  • 我建了一个叫Hello World的项目
  • 译有关态射的一切
  • 与 ConTeXt MkIV 官方文档的接驳
  • ​一些不规范的GTID使用场景
  • ​油烟净化器电源安全,保障健康餐饮生活
  • $(selector).each()和$.each()的区别
  • (TipsTricks)用客户端模板精简JavaScript代码
  • (论文阅读23/100)Hierarchical Convolutional Features for Visual Tracking
  • (译) 函数式 JS #1:简介
  • (转) SpringBoot:使用spring-boot-devtools进行热部署以及不生效的问题解决
  • (转)Android学习系列(31)--App自动化之使用Ant编译项目多渠道打包
  • (转)memcache、redis缓存
  • .NET BackgroundWorker
  • .net 提取注释生成API文档 帮助文档
  • .net 怎么循环得到数组里的值_关于js数组
  • .net6使用Sejil可视化日志
  • /usr/lib/mysql/plugin权限_给数据库增加密码策略遇到的权限问题
  • [2021 蓝帽杯] One Pointer PHP
  • [23] 4K4D: Real-Time 4D View Synthesis at 4K Resolution
  • [ABC294Ex] K-Coloring
  • [Android]Android P(9) WIFI学习笔记 - 扫描 (1)
  • [Bada开发]初步入口函数介绍
  • [CDOJ 838]母仪天下 【线段树手速练习 15分钟内敲完算合格】
  • [EFI]Dell Latitude-7400电脑 Hackintosh 黑苹果efi引导文件
  • [ERROR]-Error: failure: repodata/filelists.xml.gz from addons: [Errno 256] No more mirrors to try.
  • [HTML]Web前端开发技术28(HTML5、CSS3、JavaScript )JavaScript基础——喵喵画网页
  • [Linux]创建新用户并授予root权限
  • [Linux版本Debian系统]安装cuda 和对应的cudnn以cuda 12.0为例
  • [MRCTF2020]Ez_bypass1
  • [Neural Network] {Université de Sherbrooke} L2.9 Param Initialization
  • [Python GUI PyQt] PyQt5快速入门
  • [SCOI2005]繁忙的都市
  • [SQL调优] Maclean讲SQL调优精要