Java.lang.Thread.yield() Method

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

The following example shows the usage of java.lang.Thread.yield() method.
package com.tutorialspoint;

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");
   }
} 
Let us compile and run the above program, this will produce the following result:
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.
Share on Google Plus

About Admin

Arun is a JAVA/J2EE developer and passionate about coding and managing technical team.
    Blogger Comment
    Facebook Comment

0 comments:

Post a Comment