Java sleep 方法详细介绍

Java sleep 方法与 await 方法的区别

sleep方法并不会放弃锁,它仍然持有锁,而await方法则会放弃锁,进入等待状态。很多人对此有点迷惑,搞不清两者的区别。其实,两者在于用法上有明显的区别:

(1)await方法,是锁所具有的方法,只有锁才能调用和执行await方法。非锁对象调用await方法则会报错。
(2)sleep方法,是线程对象所具有方法,只跟线程有关,例如:Thread.sleep(1000);,它跟锁没有关系。