A. java Thread源代碼sleep函數,有一點看不懂,求解。
static void
sleep(long millis)
在指定的毫秒數內讓當前正在執行的線程休眠(暫停執行),此操作受到系統計時器和調度程序精度和准確性的影響。
static void sleep(long millis,
int nanos)
在指定的毫秒數加指定的納秒數內讓當前正在執行的線程休眠(暫停執行),此操作受到系統計時器和調度程序精度和准確性的影響。
參數:
millis - 以毫秒為單位的休眠時間。
nanos - 要休眠的另外 0-999999 納秒。
B. java sleep() 和 wait() 有什麼區別
1、同步鎖的對待不同:
sleep()後,程序並不會不釋放同步鎖。
wait()後,程序會釋放同步鎖。
2、用法的不同:
sleep()可以用時間指定來使他自動醒過來。如果時間不到你只能調用interreput()來強行打斷。
wait()可以用notify()直接喚起。
3、屬於不同的類:
sleep()的類是Thread。
wait()的類是Object。
C. Java線程中的sleep方法作用是啥,啥時候用此方法
sleep(毫秒數)是Thread類的靜態方法。
使用時:Thread.sleep(毫秒數);
如Thread.sleep(1000);該線程睡眠1秒鍾,之間此線程什麼都不做。
等1秒鍾之後,繼續餘下代碼執行。
不過線程是沒有保證的。也許1秒鍾之後,該線程沒有轉為可運行狀態,也是可能的。