Java.lang.Thread.yield() 方法
描述
java.lang.Thread.yield() 方法使当前正在执行的线程对象暂时暂停并允许其他线程执行。
声明
Following is the declaration for java.lang.Thread.yield() method
public static void yield()
参数
NA
返回值
此方法不返回任何值。
异常
示例
下面的例子展示了 java.lang.Thread.yield() 方法的使用。
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"); } }
让我们编译并运行上面的程序,这将产生下面的结果 −
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.