如何在 Java 中暂停线程一段时间
问题描述
如何暂停线程一段时间?
解决方案
以下示例显示如何通过创建 sleepingThread() 方法暂停线程一段时间。
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("The thread has been suspened."); } }
结果
上述代码示例将产生以下结果。
#1: 5 #1: 4 #1: 3 #1: 2 #1: 1 #2: 5 #2: 4 #2: 3 #2: 2 #2: 1 #3: 5 #3: 4 #3: 3 #3: 2 #3: 1 #4: 5 #4: 4 #4: 3 #4: 2 #4: 1 #5: 5 #5: 4 #5: 3 #5: 2 #5: 1 The thread has been suspened.
java_threading.html