package com.yeyue.demo01; /* 1、建议线程正常停止----->利用次数,不建议死循环 2、建议使用标志位----->设置一个标志位 3、不要使用stop或者distory等过时或者jdk不建议的使用方法 */ public class TestStop implements Runnable{ //定义线程中使用的标志位 private boolean flag = true; @Override public void run() { //线程体使用其标志位 while(flag){ System.out.println("Thread is running ..."); } } //对外提供方法改变标志位 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 < 1000; i++) { System.out.println("main"+i); if(i==500){ testStop.stop(); //调用方法改变标志位,停止线程 System.out.println("线程该停止了"); } } } }