package com.freeflying.thread.base;
/**
* @ClassName: YieldFunction
* @Description:yield方法的使用
* @author freeflying
* @date 2018年6月24日
*/
public class YieldFunction {
public static void main(String[] args) {
YieldFunctionEx yieldFunctionEx=new YieldFunctionEx();
yieldFunctionEx.start();
}
}
class YieldFunctionEx extends Thread{
@Override
public void run() {
long beginTime=System.currentTimeMillis();
int count=0;
for (int i = 0; i < 50000000; i++) {
Thread.yield();
count=count+(i+1);
}
long endTime=System.currentTimeMillis();
System.out.println("use time:"+(endTime-beginTime));
}
}
结果:use time:5727
结论:yield方法的作用是放弃当前的CPU资源,将它让给其他的任务去占用CPU执行时间,但放弃的时间不确定,有可能刚刚放弃,马上又获得CPU时间