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

JavaSE学习——线程的睡眠和中断

之前我们使用sleep方法来设置线程睡眠的时间,其实它还有一个作用,就是响应中断,比如代码正处于睡眠中,那么这时候中断标志是true会使得sleep方法立刻抛出 InterruptedException!并且:中断标记会被自动清除。这就是一种响应。

比如下面的代码。t.interrupt()把线程的中断标志位改成 true。.isInterrupted())检查是否被中断,如果被中断,就响应break的内容。

public class Main{ public static void main(String[] args) throws InterruptedException { Thread t = new Thread(()->{ System.out.println("线程开始运行"); while (true){if(Thread.currentThread().isInterrupted()){ break; }} System.out.println("线程被中断了"); }); t.start(); try{ Thread.sleep(3000);t.interrupt();} catch (InterruptedException e) { throw new RuntimeException(e); } } }

当然,这个t.interrupt()中断信号是柔性的,只是发出一个标志,至于是否立刻中断/不响应都可以,不强制执行。

就像上面的示例代码,可以选择复位中断标记

if(Thread.currentThread().isInterrupted()){

Thread.interrupted();

}

http://www.jsqmd.com/news/659697/

相关文章:

  • 利用vrtk3.3 设计拉弓射箭效果
  • 3030基于单片机的步进电机调速控制系统设计(数码管)
  • 从‘?:’到‘??=’:聊聊C#里那些让代码更优雅的条件表达式‘全家桶’
  • Qwen2.5开源模型部署一文详解:支持8K长文本生成
  • 从实验箱到智能家居:基于OpenHarmony与ESP32的MQ-2烟雾报警器原型开发实录
  • 被广泛使用、同时非常“离谱”的Openclaw Skills
  • 别再被KB2999226补丁卡住了!Win10安装Wireshark的终极避坑指南(附WinPcap替代方案)
  • 用STM32CubeMX和HAL库5分钟搞定DHT11温湿度读取(附完整代码)
  • 2026护理院设计选哪家?专业设计机构服务参考 - 品牌排行榜
  • 从‘铲掉重来’到‘精细管理’:GitLab多账号SSH密钥配置与切换实战(Windows/macOS/Linux)
  • MFCC实战:从原理到代码实现(手把手解析)
  • 【算法学习笔记】不同路径——动态规划类题目的做题思路
  • Blender3mfFormat插件:免费实现3D打印工作流的终极解决方案
  • XSS攻防实战:绕过HttpOnly与过滤机制的进阶技巧
  • Phi-4-Reasoning-Vision开源生态:对接HuggingFace Datasets与Gradio兼容方案
  • ACPI实战解析:_UPC与_PLD如何协同管理USB端口可见性与连接性
  • 告别混乱!用Nbextensions给Jupyter Notebook加个智能目录,数据分析报告瞬间清爽
  • 告别手动守护进程:NSSM命令行实战,打造稳定Windows后台服务
  • BGE-Reranker-v2-m3部署依赖少?极简环境构建实战
  • 开箱即用!FLUX.1模型镜像体验:SDXL风格让封面设计变得如此简单
  • SiameseUIE快速入门:Linux环境部署指南
  • HG-ha/MTools应用场景:独立开发者AI辅助编码+单元测试生成+错误诊断
  • CN3130 可用太阳能板供电的纽扣电池充电管理芯片
  • 2026奇点大会AI日志生成技术白皮书首发(仅限前2000名开发者获取)
  • OpenCV轮廓面积计算实战:cv::contourArea参数详解与像素级精度剖析
  • 虚拟机基础:JVM、V8 运行机制极简科普
  • DAMO-YOLO TinyNAS在环境监测中的应用:垃圾自动分类
  • 终极指南:如何用bili2text免费将B站视频转文字
  • NVIDIA Profile Inspector完全指南:解锁显卡200+隐藏设置的免费开源工具
  • NVIDIA Profile Inspector终极优化指南:免费解锁显卡200+隐藏设置