news 2026/7/4 16:13:23

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/7/2 16:43:31

Hitboxer:键盘操作优化的实用工具解析

Hitboxer&#xff1a;键盘操作优化的实用工具解析 【免费下载链接】socd SOCD cleaner tool for epic gamers 项目地址: https://gitcode.com/gh_mirrors/so/socd 在竞技游戏领域&#xff0c;键盘操作的精确定位往往决定了胜负的关键。当玩家同时按下相反方向键时&#…

作者头像 李华
网站建设 2026/6/26 2:15:53

MAA自动公招终极指南:5分钟学会智能招募技巧

MAA自动公招终极指南&#xff1a;5分钟学会智能招募技巧 【免费下载链接】MaaAssistantArknights 一款明日方舟游戏小助手 项目地址: https://gitcode.com/GitHub_Trending/ma/MaaAssistantArknights MAA自动公招系统是《明日方舟》玩家的得力助手&#xff0c;通过智能化…

作者头像 李华
网站建设 2026/7/4 11:28:04

罗技鼠标宏配置终极指南:从零到精通的实战教程

还在为游戏中的射击稳定性而困扰&#xff1f;想要在激烈的竞技中保持完美的压枪效果&#xff1f;这篇罗技鼠标宏配置指南将带你从基础概念到高级技巧&#xff0c;一步步掌握游戏鼠标宏的强大功能。 【免费下载链接】logitech-pubg PUBG no recoil script for Logitech gaming m…

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

TranslucentTB 终极使用教程:打造完美透明任务栏的完整指南

TranslucentTB 终极使用教程&#xff1a;打造完美透明任务栏的完整指南 【免费下载链接】TranslucentTB A lightweight utility that makes the Windows taskbar translucent/transparent. 项目地址: https://gitcode.com/gh_mirrors/tr/TranslucentTB 想要让Windows桌面…

作者头像 李华
网站建设 2026/6/30 17:06:29

如何在VMware中完美运行macOS:解锁工具Unlocker 3.0终极指南

想要在VMware虚拟机中体验苹果macOS系统&#xff0c;却被兼容性限制所困扰&#xff1f;Unlocker 3.0正是解决这一难题的终极开源工具&#xff0c;它能一键解除VMware对macOS的限制&#xff0c;让普通PC也能流畅运行苹果操作系统。作为VMware macOS解锁工具的标杆产品&#xff0…

作者头像 李华
网站建设 2026/7/1 1:41:17

ArduPilot航拍安全返航机制:全面讲解

ArduPilot航拍安全返航机制&#xff1a;从原理到实战的深度解析当失控来临&#xff0c;无人机如何“自己回家”&#xff1f;你有没有过这样的经历&#xff1a;正在城市高楼间操控无人机拍摄延时视频&#xff0c;突然遥控器信号断了&#xff1b;或者在偏远山区执行测绘任务时&am…

作者头像 李华