版权声明:版权归 爱装逼的文艺小青年所有 https://blog.csdn.net/toyota_rav4/article/details/84843388
yield()作用:放弃当前的CPU资源,将其让给其他的任务去占用CPU的执行时间,但放弃的不确定,有可能刚刚放弃,马上又获得CPU时间片。
package com.demo6;
public class MyThread extends Thread {
@Override
public void run() {
long beginTime = System.currentTimeMillis();
int count = 0;
for (int i = 0; i < 5000000; i++) {
//Thread.yield();
count = i + 1;
}
long endTime = System.currentTimeMillis();
System.out.println("count=" + count + "\n花费时间:" +(endTime-beginTime) + "ms");
}
}
package com.demo6;
public class Run {
public static void main(String[] args) {
MyThread myThread = new MyThread();
myThread.start();
}
}
运行结果:
count=5000000
花费时间:16ms
将MyThread类中的“//Thread.yield()”放开,运行结果:
count=5000000
花费时间:5092ms
由此可见 ,上述yield()的作用。