如果用return,那么条件不满足时是怎么竞争资源的?

来源:4-4 Java线程交互之深入剖析互斥与同步

醉里挑灯开车

2017-06-26 22:25

http://img.mukewang.com/5951185e0001ec7604830292.jpg


如果就用return的话是不是执行到return的时候这个方法就结束了,继续下一行代码了,怎么会竞争锁资源呢??想不通,请解答一下

写回答 关注

2回答

  • luffymaika
    2017-10-22 20:19:55

    假设原本有n个线程,return了之后,当前线程又回到可运行状态继续争抢cpu资源,争夺的数目为n;

    如果用wait方法,会把线程放入lock对象的wait set中,不去争抢cpu,争夺资源的线程数为n-1,这样也就节省了一部分系统因为线程争夺锁的开销

  • 慕粉3954379
    2017-06-27 22:34:07

    仔细看下图将能找到答案!

    http://img.mukewang.com/59526ca60001a7a912680644.jpg

深入浅出Java多线程

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

186088 学习 · 464 问题

查看课程

相似问题