news 2026/4/15 15:26:30

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/4/15 18:15:32

iOS个性化定制完全指南:Cowabunga Lite让每台设备都独一无二

iOS个性化定制完全指南&#xff1a;Cowabunga Lite让每台设备都独一无二 【免费下载链接】CowabungaLite iOS 15 Customization Toolbox 项目地址: https://gitcode.com/gh_mirrors/co/CowabungaLite 还在羡慕别人独特的手机界面吗&#xff1f;想要摆脱千篇一律的iOS默认…

作者头像 李华
网站建设 2026/4/16 10:20:14

Zotero文献去重插件完整使用指南:三步告别重复文献烦恼

Zotero文献去重插件完整使用指南&#xff1a;三步告别重复文献烦恼 【免费下载链接】ZoteroDuplicatesMerger A zotero plugin to automatically merge duplicate items 项目地址: https://gitcode.com/gh_mirrors/zo/ZoteroDuplicatesMerger 文献管理是科研工作的重要环…

作者头像 李华
网站建设 2026/4/15 17:20:49

XHS-Downloader:小红书内容下载的完整新手入门指南

XHS-Downloader&#xff1a;小红书内容下载的完整新手入门指南 【免费下载链接】XHS-Downloader 免费&#xff1b;轻量&#xff1b;开源&#xff0c;基于 AIOHTTP 模块实现的小红书图文/视频作品采集工具 项目地址: https://gitcode.com/gh_mirrors/xh/XHS-Downloader X…

作者头像 李华
网站建设 2026/4/16 10:20:28

如何快速释放Windows C盘空间:WindowsCleaner终极指南

如何快速释放Windows C盘空间&#xff1a;WindowsCleaner终极指南 【免费下载链接】WindowsCleaner Windows Cleaner——专治C盘爆红及各种不服&#xff01; 项目地址: https://gitcode.com/gh_mirrors/wi/WindowsCleaner 当你的Windows电脑C盘亮起红色警告&#xff0c;…

作者头像 李华
网站建设 2026/4/15 21:10:02

TranslucentTB 完整使用指南:Windows 透明任务栏美化终极教程

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

作者头像 李华
网站建设 2026/4/16 9:57:22

原神60帧限制终极突破指南:简单三步实现高帧率游戏体验

原神60帧限制终极突破指南&#xff1a;简单三步实现高帧率游戏体验 【免费下载链接】genshin-fps-unlock unlocks the 60 fps cap 项目地址: https://gitcode.com/gh_mirrors/ge/genshin-fps-unlock 你是否曾经在原神中感受到画面卡顿&#xff0c;明明拥有强大的硬件却只…

作者头像 李华