说明:

  • 当线程完成任务后,会自动退出。
  • 还可以通过使用变量来控制run方法退出的方式停止线程,即通知方式。

    案例:

    需求:

    启动一个线程t,要求在main线程中去停止线程t,请编程实现. ```java package test;

/**

  • 演示线程终止 */ public class Main { public static void main(String[] args) throws InterruptedException {
    1. T t1 = new T();
    2. t1.start();
    3. //如果希望main线程去控制t1 线程的终止, 必须可以修改 loop
    4. //让t1 退出run方法,从而终止 t1线程 -> 通知方式
    5. //让主线程休眠 10 秒,再通知 t1线程退出
    6. System.out.println("main线程休眠10s...");
    7. Thread.sleep(10 * 1000);
    8. t1.setLoop(false);
    } }

class T extends Thread { private int count = 0; //设置一个控制变量 private boolean loop = true; @Override public void run() { while (loop) { try { Thread.sleep(50);// 让当前线程休眠50ms } catch (InterruptedException e) { e.printStackTrace(); } System.out.println(“T 运行中….” + (++count)); }

  1. }
  2. public void setLoop(boolean loop) {
  3. this.loop = loop;
  4. }

} ``` image.png