课程
/后端开发
/Java
/深入浅出Java多线程
如果就用return的话是不是执行到return的时候这个方法就结束了,继续下一行代码了,怎么会竞争锁资源呢??想不通,请解答一下
2017-06-26
源自:深入浅出Java多线程 4-4
正在回答
假设原本有n个线程,return了之后,当前线程又回到可运行状态继续争抢cpu资源,争夺的数目为n;
如果用wait方法,会把线程放入lock对象的wait set中,不去争抢cpu,争夺资源的线程数为n-1,这样也就节省了一部分系统因为线程争夺锁的开销
仔细看下图将能找到答案!
举报
带你一起深入浅出多线程,掌握基础,展望进阶路线
2 回答在wait set中不满足条件的线程,被唤醒后是不是还是不满足条件?
2 回答争用条件问题
1 回答到底什么是争用条件?为什么能量会不守恒
2 回答重新竞争锁的时候从哪里开始?
1 回答如果共享资源一直不满足线程的要求,线程不就会一直傻傻的等待