sleep和wait的區別?

sleep是讓線程休眠,wait是等待。spa

使用上:從使用角度看,sleep是Thread線程類的方法,而wait是Object頂級類的方法。線程

sleep能夠在任何地方使用,而wait只能在同步方法或者同步塊中使用。對象

CPU及資源鎖釋放:sleep,wait調用後都會暫停當前線程並讓出cpu的執行時間,但不一樣的是sleep不會釋放當前持有的對象的鎖資源,到時間後會繼續執行,而wait會放棄全部鎖並須要notify/notifyAll後從新獲取到對象鎖資源後才能繼續執行。資源

異常捕獲:sleep須要捕獲或者拋出異常,而wait/notify/notifyAll不須要。同步

相關文章
相關標籤/搜索