线程停止
- 线程状态
- Thread t = new Thread();线程对象一旦创建了就进入到了新生状态
- 当调用start()方法,线程立即进入就绪状态蛋并不意味着立即调度执行(此时为就绪状态)
- 就绪状态经过cpu的调度才能真正进入运行状态(运行状态才真正执行线程体的代码块)
- 阻塞状态(当调用sleep,wait或同步锁定时,线程进入阻塞状态,就是代码不往下执行,阻塞事件解除后重新进入就绪状态,等待cpu调度执行)
- dead(线程中断或者结束,一旦进入死亡状态,就不能再次启动)
线程停止实例
import javafx.scene.paint.Stop; public class TestStop implements Runnable{ //定义一个判断条件的标志位 private boolean flag=true; public void run() { int i =0; while (flag){ System.out.println("landing..."+i++); } } //设置一个公开的方法停止线程 public void stop(){ this.flag=false; } public static void main(String[] args) { TestStop testStop = new TestStop(); new Thread(testStop).start(); for (int i = 0; i < 100; i++) { if(i==80){ //调用stop方法改变标志位 testStop.stop(); System.out.println("停止了"); } System.out.println("此时运行了"+i); } } }