《Java多线程编程核心技术(第2版)》 —1.13 yield()方法
【摘要】 本节书摘来自华章计算机《Java多线程编程核心技术(第2版)》 一书中第1章,第1.13节,作者是高洪岩。
1.13 yield()方法
yield()方法的作用是放弃当前的CPU资源,让其他任务去占用CPU执行时间,放弃的时间不确定,有可能刚刚放弃,马上又获得CPU时间片。在本示例中可以取得运行的时间为结果,以测试yield()方法的使用效果。
创建t17项目,MyThread.java文件代码如下:
package extthread;
public class MyThread 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("用时:" + (endTime - beginTime) + "毫秒!");
}
}
文件Run.java代码如下:
package test;
import extthread.MyThread;
import extthread.MyThread;
public class Run {
public static void main(String[] args) {
MyThread thread = new MyThread();
thread.start();
}
}
程序运行结果如图1-60所示。
将代码:
// Thread.yield();
去掉注释,再次运行,结果如图1-61所示。
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
作者其他文章
评论(0)