多线程-五大状态-线程停止-线程停止的代码、方法
线程方法: setPriority(int bewPriority) 更改线程优先级 static void sleep(long millis):在指定的毫秒数内让当前正在执行的线程休眠 void join() 等待该线程终止 static void yield() 暂停当前正在执行的线程对象,并执行其他线程,也叫礼让 void interrupt() 中断线程 别用这个方式 boolean isAlive(); 测试线程是否处于活动状态 停止线程: 不推荐使用JDK提供的stop()、destroy()方法。(已弃) 推荐线程自己停止下来 建议使用一个标志位进行终止就是,当flag=fakse,则终止线程运行 如: public class TestStop implements Runnable{ //线程中定义线程体使用标识 public boolean flag=true; public void run(){ //线程体使用该标识 while(flag){ System.out.println("run...Thread"); } } //对外提供方法改变标识 public void stop(){ this.flag=falsel } }
//测试stop:停止 //1.建议线程正常停止----》利用次数,不建议死循环 //2.建议使用标志位---》设置一个标志位 //3.不要使用stop或者destroy等过时或者JDK不建议使用的方法 public class Main implements Runnable{ //1.设置一个标志位 private boolean flag=true; public void run(){ int i=0; while(flag){ System.out.println("run..."+i++); } } //设置一个公开的方法,停止线程,转换标志位 public void stop(){ this.flag=false; } public static void main(String[] args) { //创建一个线程对象 Main mn=new Main(); //创建一个线程方法 new Thread(mn).start(); //创建一个循环让他来判断什么时候让线程停止 for (int i=0; i<1000;i++ ){ System.out.println("main"+i); if (i==900){ //调用stop方法切换标志位,让线程停止 mn.stop(); System.out.println("线程该停止了"); } } } }
分类:
java之多线程
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署