8、yield()

版权声明:版权归 爱装逼的文艺小青年所有 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()的作用。

猜你喜欢

转载自blog.csdn.net/toyota_rav4/article/details/84843388
今日推荐