为了账号安全,请及时绑定邮箱和手机立即绑定

为什么把yield()注释掉效果一样啊

yield()注释掉结果没变

正在回答

2 回答

yield()应该做的是让当前运行线程回到可运行状态,以允许具有相同优先级的其他线程获得运行机会。因此,使用yield()的目的是让相同优先级的线程之间能适当的轮转执行。但是,实际中无法保证yield()达到让步目的,因为让步的线程还有可能被线程调度程序再次选中。

1 回复 有任何疑惑可以回复我~
#1

qq_当I已成往事_0 提问者

系统线程时间片的调配是随机的,为什么还要用yield()呢
2016-09-05 回复 有任何疑惑可以回复我~
#2

qq_当I已成往事_0 提问者

谢谢了
2016-09-05 回复 有任何疑惑可以回复我~

如果不用yield方法让出运行空间,会导致程序执行完线程1再执行线程2,用这个方法后悔让这两个线程交叉相互执行(个人理解)

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么把yield()注释掉效果一样啊

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信