thread.sleep與wait有什么區(qū)別

小樊
120
2024-06-27 19:50:29
欄目: 編程語言

  1. 等待時(shí)間單位不同:Thread.sleepThread類的靜態(tài)方法,參數(shù)是以毫秒為單位的等待時(shí)間;waitObject類的實(shí)例方法,參數(shù)是以毫秒為單位的等待時(shí)間。

  2. 使用對(duì)象:Thread.sleep用于使當(dāng)前線程暫停執(zhí)行一段時(shí)間,不釋放對(duì)象鎖;wait用于使當(dāng)前線程等待直到其他線程調(diào)用notify()notifyAll()方法喚醒它,同時(shí)釋放對(duì)象鎖。

  3. 鎖的釋放:Thread.sleep不需要持有對(duì)象鎖;wait方法需要在同步代碼塊或同步方法中調(diào)用,調(diào)用后會(huì)釋放對(duì)象鎖。

  4. 異常拋出:Thread.sleep方法不會(huì)拋出異常;wait方法會(huì)拋出InterruptedException異常。

0