- Example - Home
- Example - Environment
- Example - Strings
- Example - Arrays
- Example - Date & Time
- Example - Methods
- Example - Files
- Example - Directories
- Example - Exceptions
- Example - Data Structure
- Example - Collections
- Example - Networking
- Example - Threading
- Example - Applets
- Example - Simple GUI
- Example - JDBC
- Example - Regular Exp
- Example - Apache PDF Box
- Example - Apache POI PPT
- Example - Apache POI Excel
- Example - Apache POI Word
- Example - OpenCV
- Example - Apache Tika
- Example - iText
- Java Useful Resources
- Java - Quick Guide
- Java - Useful Resources
How to suspend a thread for a while in Java
Problem Description
How to suspend a thread for a while?
Solution
Following example shows how to suspend a thread for a while by creating sleepingThread() method.
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.");
}
}
Result
The above code sample will produce the following result.
#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.htm
Advertisements