兩者都可以暫停線程的執(zhí)行
類的不同:sleep() 是 Thread線程類的靜態(tài)方法,wait() 是 Object類的方法。
是否釋放鎖:sleep() 不釋放鎖;wait() 釋放鎖。
用途不同:Wait 通常被用于線程間交互/通信,sleep 通常被用于暫停執(zhí)行。
用法不同:wait() 方法被調(diào)用后,線程不會(huì)自動(dòng)蘇醒,需要?jiǎng)e的線程調(diào)用同一個(gè)對(duì)象上的 notify() 或者 notifyAll() 方法。sleep() 方法執(zhí)行完成后,線程會(huì)自動(dòng)蘇醒?;蛘呖梢允褂脀ait(long timeout)超時(shí)后線程會(huì)自動(dòng)蘇醒。