java.lang.Thread.yield()方法实例
java.lang.Thread.yield() 方法使当前执行的线程对象来暂停并允许其他线程执行。
声明
以下是java.lang.Thread.yield()方法的声明
public static void yield()
参数
-
NA
返回值
此方法不返回任何值。
异常
例子
下面的例子显示java.lang.Thread.yield()方法的使用。
package com.yiibai; 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.