如果就用return的话是不是执行到return的时候这个方法就结束了,继续下一行代码了,怎么会竞争锁资源呢??想不通,请解答一下
假设原本有n个线程,return了之后,当前线程又回到可运行状态继续争抢cpu资源,争夺的数目为n;
如果用wait方法,会把线程放入lock对象的wait set中,不去争抢cpu,争夺资源的线程数为n-1,这样也就节省了一部分系统因为线程争夺锁的开销
仔细看下图将能找到答案!