Yield

Yield : "to give up or over; relinquish or resign" [1]

yield() causes the currently executing thread object to temporarily pause and allow other threads to execute. A nice example from [2] follows:

//: c13:YieldingThread.java
//Suggesting when to switch threads with yield().
//From 'Thinking in Java, 3rd ed.' (c) Bruce Eckel 2002
//www.BruceEckel.com. See copyright notice in CopyRight.txt.
 
public class YieldingThread extends Thread
{
 
    private int countDown = 5;
 
    private static int threadCount = 0;
 
    public YieldingThread()
    {
        super("" + ++threadCount);
        start();
    }
 
    public String toString()
    {
        return "#" + getName() + ": " + countDown;
    }
 
    public void run()
    {
        while (true)
        {
            System.out.println(this);
            if (--countDown == 0)
                return;
            yield();
        }
    }
 
    public static void main(String[] args)
    {
        for (int i = 0; i < 5; i++)
            new YieldingThread();
    }
} // /:~
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-Share Alike 2.5 License.