news 2026/8/7 5:32:41

Java线程终止

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Java线程终止

Java中一般使用两种方法来使线程终止的方法,一是标志位的方法,二是中断使用标志位代码实现如下。

// 线程停止的方式:1加标志位;2 中断 class Stop implements Runnable { private boolean flag = true; @Override public void run() { while (flag) { for (int i = 0; i < 10; i++) { System.out.println(Thread.currentThread().getName() + "=====" + i); } } } public void setFlag(boolean flag) { this.flag = flag; } } public class ThreadStop { public static void main(String[] args) { Stop stop = new Stop(); Thread bobi = new Thread(stop, "Bobi"); bobi.start(); for (int i = 0; i < 10; i++) { System.out.println( "i=" + i); // 通过标志位让线程停下来 if (i >= 9) { stop.setFlag(false); } System.out.println(Thread.currentThread().getName() + "=====" + i); } System.out.println(Thread.currentThread().getName() + "=====over======"); } }

使用中断实现线程停止的代码实现如下。

// 线程停止的方式:1加标志位;2 中断 class Stop implements Runnable { private boolean flag = true; @Override public void run() { while (flag) { // 若此时不在main方法中对中断方法做处理的话,线程是停不下来的(虽然main线程停了)。 synchronized (this) { try { wait(); } catch (InterruptedException e) { //e.printStackTrace(); // 强制获取cpu之后会进入这里改变flag的值 flag = false; } } for (int i = 0; i < 10; i++) { System.out.println(Thread.currentThread().getName() + "=====" + i); } } } public void setFlag(boolean flag) { this.flag = flag; } } public class ThreadStop { public static void main(String[] args) { Stop stop = new Stop(); Thread bobi = new Thread(stop, "Bobi"); bobi.start(); for (int i = 0; i < 10; i++) { // 通过标志位让线程停下来 if (i >= 9) { // 强制让bobi这个线程获取cpu,执行完没有完成的操作,而不是一直处于等待状态。 bobi.interrupt(); } System.out.println(Thread.currentThread().getName() + "=====" + i); } System.out.println(Thread.currentThread().getName() + "=====over======"); } }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/5 11:56:12

XHS-Downloader小红书数据采集终极指南:5分钟快速上手教程

XHS-Downloader小红书数据采集终极指南&#xff1a;5分钟快速上手教程 【免费下载链接】XHS-Downloader 免费&#xff1b;轻量&#xff1b;开源&#xff0c;基于 AIOHTTP 模块实现的小红书图文/视频作品采集工具 项目地址: https://gitcode.com/gh_mirrors/xh/XHS-Downloader…

作者头像 李华
网站建设 2026/8/5 11:57:04

Vue3-Element-Admin终极解决方案:企业级后台管理系统的完整框架

Vue3-Element-Admin终极解决方案&#xff1a;企业级后台管理系统的完整框架 【免费下载链接】vue3-element-admin vue3-element-admin后台管理系统前端解决方案 项目地址: https://gitcode.com/gh_mirrors/vue/vue3-element-admin 在数字化转型浪潮中&#xff0c;企业后…

作者头像 李华
网站建设 2026/8/7 12:09:27

罗技鼠标宏完整配置教程:快速掌握绝地求生压枪技巧

罗技鼠标宏完整配置教程&#xff1a;快速掌握绝地求生压枪技巧 【免费下载链接】logitech-pubg PUBG no recoil script for Logitech gaming mouse / 绝地求生 罗技 鼠标宏 项目地址: https://gitcode.com/gh_mirrors/lo/logitech-pubg 还在为绝地求生中的枪口跳动而烦恼…

作者头像 李华
网站建设 2026/8/6 22:07:41

Zotero-SciPDF终极指南:一键获取学术文献PDF的完美解决方案

Zotero-SciPDF终极指南&#xff1a;一键获取学术文献PDF的完美解决方案 【免费下载链接】zotero-scipdf Download PDF from Sci-Hub automatically For Zotero7 项目地址: https://gitcode.com/gh_mirrors/zo/zotero-scipdf 还在为找不到学术论文的PDF版本而烦恼吗&…

作者头像 李华
网站建设 2026/8/7 23:33:49

Zotero-SciPDF终极指南:一键获取学术文献PDF的完整解决方案

Zotero-SciPDF终极指南&#xff1a;一键获取学术文献PDF的完整解决方案 【免费下载链接】zotero-scipdf Download PDF from Sci-Hub automatically For Zotero7 项目地址: https://gitcode.com/gh_mirrors/zo/zotero-scipdf Zotero-SciPDF是专为Zotero 7设计的智能插件&…

作者头像 李华
网站建设 2026/8/7 16:36:51

VMware macOS解锁工具终极指南:轻松打造跨平台开发环境

VMware macOS解锁工具终极指南&#xff1a;轻松打造跨平台开发环境 【免费下载链接】unlocker 项目地址: https://gitcode.com/gh_mirrors/unloc/unlocker 你是不是曾经想在VMware上运行macOS系统&#xff0c;却因为系统限制而束手无策&#xff1f;别担心&#xff0c;今…

作者头像 李华