Published:
Description
The java.lang.Thread.yield() method causes the currently executing thread object to temporarily pause and allow other threads to execute.
Declaration
Following is the declaration for java.lang.Thread.yield() method
public static void yield()
Parameters
NA
Return Value
This method does not return any value.
Exception
Example
import java.lang.*;
public class ThreadDemo implements Runnable {
Thread t;
ThreadDemo(String str) {
t = new Thread(this, str);
// this will call run() function
t.start();
}
public void run() {
for (int i = 0; i < 5; i++) {
// yields control to another thread every 5 iterations
if ((i % 5) == 0) {
System.out.println(Thread.currentThread().getName() + "
yielding control...");
/* causes the currently executing thread object to temporarily
pause and allow other threads to execute */
Thread.yield();
}
}
System.out.println(Thread.currentThread().getName() + " has finished executing.");
}
public static void main(String[] args) {
new ThreadDemo("Thread 1");
new ThreadDemo("Thread 2");
new ThreadDemo("Thread 3");
}
}
output--
Thread 1 is yielding control...
Thread 2 is yielding control...
Thread 3 is yielding control...
Thread 1 has finished executing.
Thread 2 has finished executing.
Thread 3 has finished executing.