码迷,mamicode.com
首页 > 编程语言 > 详细

java中什么是Yield给出一个例子

时间:2018-09-24 18:56:05      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:catch   自己的   targe   chapter   html   ted   请求   详情   ESS   

马克-to-win:yield英文是屈服投降的意思。 (视频下载) (全部书籍)当前线程投降就是当前线程希望释放CPU的自己的占用权,( 但系统可以忽略它这个请求。)参见: https://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html#yield%28%29 其中有这么句话: A hint to the scheduler that the current thread is willing to yield its current use of a processor. The scheduler is free to ignore this hint.这样的话当前线程yield时,有时虽然它自己想让别的线程执行,但系统出于优化考虑,可能还是会让当前的线程继续执行。这样的话,yield就会有一种不可控的效果,所以并行编程的最佳实践建议少用yield。

例:1.5.5-本章源码

class ThreadMark_to_win extends Thread {
    private String s;
    public ThreadMark_to_win(String s) {
        this.s = s;
    }
    public void run() {
        for (int i = 0; i < 10; i++) {
            try {
                Thread.sleep(100);
            } catch (InterruptedException e) {
            }
            System.out.println(s);
/*当前线程希望释放CPU的自己的占用权,( 但系统可以忽略。) */           
            Thread.yield();
        }
    }

。。。。。。。。。。。。。。。。。
详情请进:http://www.mark-to-win.com/index.html?content=JavaBeginner/javaUrl.html&chapter=JavaBeginner/JavaBeginner6_web.html#Yield

java中什么是Yield给出一个例子

标签:catch   自己的   targe   chapter   html   ted   请求   详情   ESS   

原文地址:https://www.cnblogs.com/mark-to-win/p/9696164.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!