Thread Yield In Java Example
Chapter:
Thread
Last Updated:
20-06-2016 16:33:55 UTC
Program:
/* ............... START ............... */
import java.util.ArrayList;
import java.util.List;
public class JavaThreaYieldExample {
public static void main(String a[]) {
List<ExmpThread> list = new ArrayList<ExmpThread>();
for (int i = 0; i < 3; i++) {
ExmpThread et = new ExmpThread(i + 5);
list.add(et);
et.start();
}
for (ExmpThread et : list) {
try {
et.join();
} catch (InterruptedException ex) {
}
}
}
}
class ExmpThread extends Thread {
private int stopCount;
public ExmpThread(int count) {
this.stopCount = count;
}
public void run() {
for (int i = 0; i < 50; i++) {
if (i % stopCount == 0) {
System.out.println("Stoping thread: " + getName());
yield();
}
}
}
}
/* ............... END ............... */
Output
Stoping thread: Thread-2
Stoping thread: Thread-1
Stoping thread: Thread-0
Stoping thread: Thread-1
Stoping thread: Thread-2
Stoping thread: Thread-1
Stoping thread: Thread-0
Stoping thread: Thread-1
Stoping thread: Thread-2
Stoping thread: Thread-1
Stoping thread: Thread-0
Stoping thread: Thread-2
Stoping thread: Thread-1
Stoping thread: Thread-0
Stoping thread: Thread-2
Stoping thread: Thread-1
Stoping thread: Thread-0
Stoping thread: Thread-2
Stoping thread: Thread-1
Stoping thread: Thread-0
Stoping thread: Thread-2
Stoping thread: Thread-1
Stoping thread: Thread-0
Stoping thread: Thread-2
Stoping thread: Thread-0
Stoping thread: Thread-0
Stoping thread: Thread-0
Notes:
-
When a thread executes a thread yield, the executing thread is suspended and the CPU is given to some other runnable thread.
- Thread will wait until the CPU becomes available again.
Tags
Thread Yield, Java, Thread