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