api中解释: 暂停当前正在执行的线程对象,并执行其他线程。
注意:这里的其他也包含当前线程,所以会出现以下结果。
package concurent;
/**
*
* @author Administrator
* zyyjiao@mail.ustc.edu.cn
*/
public class Test extends Thread {
public static void main(String[] args) {
for (int i = 1; i <= 2; i++) {
new Test().start();
}
}
@Override
public void run() {
System.out.print("a");
Thread.yield();
System.out.print("b");
}
}
输出的结果可能是aabb或者abab
本文通过一个简单的 Java 程序示例介绍了 Thread.yield() 方法的作用及使用方式。该方法使得当前正在执行的线程放弃 CPU 时间片,让相同优先级的其他线程有机会被执行。需要注意的是,其他线程也包括了当前线程本身,因此在实际运行中可能会出现交替执行的现象。
370

被折叠的 条评论
为什么被折叠?



