以下实例演示了如何将线程挂起:
- /*
- author by shouce.ren
- 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
- 线程已被挂起