Java中yield()方法的重要性?
一个收益率()方法是一个静态的方法线程 类,它可以停止当前执行的线程,并给个机会相同优先级的其他线程等待。 如果没有等待线程,或者所有等待线程的 优先级都较低,则同一线程将继续执行。yield()方法的优点是有机会执行其他正在等待的线程,因此,如果我们当前的线程需要更多时间来执行并将处理器分配给其他线程。
语法
public static void yield()
示例
class MyThread extends Thread { public void run() { for (int i = 0; i < 5; ++i) { Thread.yield(); // By calling this method, MyThread stop its execution and giving a chance to a main thread System.out.println("线程已启动:" + Thread.currentThread().getName()); } System.out.println("线程结束:" + Thread.currentThread().getName()); } } public class YieldMethodTest { public static void main(String[] args) { MyThread thread = new MyThread(); thread.start(); for (int i = 0; i < 5; ++i) { System.out.println("线程已启动:" + Thread.currentThread().getName()); } System.out.println("线程结束:" + Thread.currentThread().getName()); } }
输出结果
线程已启动:main 线程已启动:Thread-0 线程已启动:main 线程已启动:Thread-0 线程已启动:main 线程已启动:Thread-0 线程已启动:main 线程已启动:Thread-0 线程已启动:main 线程已启动:Thread-0 线程结束:main 线程结束:Thread-0