一个测试yield() 的小代码 在i 为10的整数倍的情况下 会切换到另一个线程 但是在输出结果里面 (我标记处) t1:30 之后为什么没有切换到 t2 ?
1 回答
已采纳
惊人三明治
TA贡献14条经验 获得超13个赞
Thread.yield( )方法:
使当前线程从执行状态(运行状态)变为可执行态(就绪状态)。cpu会从众多的可执行态里选择,也就是说,当前也就是刚刚的那个线程还是有可能会被再次执行到的,并不是说一定会执行其他线程而该线程在下一次中不会执行到了。
Java线程中有一个Thread.yield( )方法,很多人翻译成线程让步。顾名思义,就是说当一个线程使用了这个方法之后,它就会把自己CPU执行的时间让掉,让自己或者其它的线程运行。
添加回答
举报
0/150
提交
取消