yield方法的作用是放弃当前的CPU资源,将它让给其他的任务去占用CPU执行时间。但是放弃的时间不确定,有可能刚刚放弃,马上又获得CPU资源。
示例代码:
public class Mythread extends Thread{
private long i = 0;
@Override
public void run(){
long beginTime = System.currentTimeMillis();
int count = 0;
for (int i = 0; i <5000000; i++) {
//Thread.yield();
count += i;
}
long endTime = System.currentTimeMillis();
System.out.println(endTime - beginTime);
}
}
public class Main {
public static void main(String[] args) {
Mythread mythread = new Mythread();
mythread.start();
}
}
输出为1890

如果把Tread.yield注释掉,结果为

本文详细解析了Java中Thread类的yield方法,阐述了其在多线程环境中的作用和使用场景,通过示例代码展示了yield方法如何影响线程的执行调度。
562

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



