Java 中 sleep 和 wait 的区别

Java juc About 271 words

区别一

sleepThread的方法。

waitObject的方法。

区别二

sleep不需要包裹在synchronized中。

wait必须包裹在synchronized代码块中。

区别三

sleep不会释放锁。

wait会释放锁,并进入Monitor对象的waitSet中,当调用notify后重新竞争锁,因为synchronized是非公平锁,所以可能直接获得了锁,也可能进入EntryList双向链表等待获取锁。

相同点

sleep(long n)wait(long n)都能被Thread.interrupted()方法中断

Views: 1,536 · Posted: 2021-08-31

————        END        ————

Give me a Star, Thanks:)

https://github.com/fendoudebb/LiteNote

扫描下方二维码关注公众号和小程序↓↓↓

扫描下方二维码关注公众号和小程序↓↓↓


Today On History
Browsing Refresh