多线程-五大状态-线程停止-线程停止的代码、方法

线程方法: 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("线程该停止了"); } } } }

浙公网安备 33010602011771号