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

来源:2-4 Java线程-隋唐演义实战开发---军队

qq_当I已成往事_0

2016-09-05 12:59

yield()注释掉结果没变

写回答 关注

2回答

  • 慕九州3071363
    2016-09-05 15:13:10
    已采纳

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

    qq_当I已...

    谢谢了

    2016-09-05 16:26:17

    共 2 条回复 >

  • 慕九州3071363
    2016-09-05 16:13:35

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

深入浅出Java多线程

带你一起深入浅出多线程,掌握基础,展望进阶路线

186088 学习 · 464 问题

查看课程

相似问题