如题,谢谢Java Thread中的sleep() 方法,为什么设计成不释放锁?谢谢大家
为了睡眠到了指定时间,能准时拿到对象锁吧。如果睡眠到了指定时间,还要参与抢占对象锁的话,那这个睡眠时间就不准了(比实际的时间还多)
Sleep只是当前线程休眠,然后让出CPU,当然不会释放锁,这么设计还是为了让程序员自己控制锁,主动的释放,而不是它隐藏帮你释放,锁就应该显示释放。
sleep 直接可以理解成线程等待。或者干脆说,sleep么,睡眠状态,如果锁释放了。那和一个人睡着睡着睡死了有什么区别。。