Java 实例 - 线程挂起


Java 实例 - 线程挂起

以下实例演示了如何将线程挂起:

SleepingThread.java 文件

public class SleepingThread extends Thread {
   private int countDown = 5;
   private static int threadCount = 0;
   public SleepingThread() {
      super("" + ++threadCount);
      start();
   }
   public String toString() {
      return "#" + getName() + ": " + countDown;
   }
   public void run() {
      while (true) {
         System.out.println(this);
         if (--countDown == 0)
            return;
         try {
            sleep(100);
         }
         catch (InterruptedException e) {
            throw new RuntimeException(e);
         }
      }
   }
   public static void main(String[] args)
   throws InterruptedException {
      for (int i = 0; i < 5; i++)
      new SleepingThread().join();
      System.out.println("线程已被挂起");
   }
}

以上代码运行输出结果为:

#1: 5

#1: 4

#1: 3

#1: 2

#1: 1

……

#5: 3

#5: 2

#5: 1

线程已被挂起