Java Thread yield()方法

java.lang.Thread.yield() 方法使当前执行的线程对象来暂停并允许其他线程执行。

1 语法

public static void yield()

2 参数

3 返回值

4 示例 

package com.yiidian;

/**
 * 一点教程网: http://www.yiidian.com
 */
/**
 * java.lang.Thread.yield()方法的例子
 */
import java.lang.*;

public class Demo implements Runnable {

    Thread t;

    Demo(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 Demo("Thread 1");
        new Demo("Thread 2");
        new Demo("Thread 3");
    }
}

输出结果为:

Thread 1 yielding control...
Thread 2 yielding control...
Thread 3 yielding control...
Thread 1 has finished executing.
Thread 2 has finished executing.
Thread 3 has finished executing.

热门文章

优秀文章