⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stopthread.java

📁 多线程 课堂讲解代码 很经典的
💻 JAVA
字号:
public class StopThread {
  public static void main(String[] args) {
    PrintNumber number1 = new PrintNumber(1);
    PrintNumber number2 = new PrintNumber(2);

    Thread thread1 = new Thread(number1);
    Thread thread2 = new Thread(number2);

    thread1.setPriority(4); //设置线程的优先级
    thread2.setPriority(5); //设置线程的优先级

    thread1.start();
    thread2.start();

    try {
      Thread.sleep(1000);
    } catch (InterruptedException e ) {
      System.out.println(e.getMessage());
    } // try/catch 块结束
    number1.stop();  // number1线程结束
    number2.stop();  // number2线程结束
  } // main()方法结束
} // 类StopThread结束

 // 声明Number类
class PrintNumber implements Runnable {
  int num;
  boolean isStop = false;  // 停止线程变量

  public PrintNumber(int num) {
    this.num = num;
  }

  public void stop() {
    isStop = true;
  }

  public void run() {        // 重载run方法
    for (int i=1; !isStop; i++) {
      if (i%200000 == 0) {   //每循环200000次打印一次
        System.out.print(num);
        /*
        try {
           Thread.sleep(1);
        } catch (InterruptedException e ) {
          System.out.println(e.getMessage());
        } // try/catch 块结束
       */
      Thread.yield();
      } // if 结束
    } // for 结束
  } // run()方法结束
} // 类PrintNumber结束

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -