java中sleep()的用法

2021-09-02 02:34:14 字數 997 閱讀 5109

thread.sleep(long millis)和thread.sleep(long millis, int nanos)靜態方法強制當前正在執行的執行緒休眠(暫停執行),以「減慢執行緒」。

當執行緒睡眠時,它睡在某個地方,在甦醒之前不會返回到可執行狀態。

當睡眠時間到期,則返回到可執行狀態。

睡眠的實現:呼叫靜態方法。

try catch (interruptedexception e)

睡眠的位置:為了讓其他執行緒有機會執行,可以將thread.sleep()的呼叫放執行緒run()之內。這樣才能保證該執行緒執行過程中會睡眠。

public class testsleep

}class mythread2 extends thread

public void run() catch (interruptedexception e) }}

}注意:

1、執行緒睡眠是幫助所有執行緒獲得執行機會的最好方法。

2、執行緒睡眠到期自動甦醒,並返回到可執行狀態,不是執行狀態。sleep()中指定的時間是執行緒不會執行的最短時間。因此,sleep()方法不能保證該執行緒睡眠到期後就開始執行。

3、sleep()是靜態方法,只能控制當前正在執行的執行緒。

例項二:乙個計數器,計數到100,在每個數字之間暫停1秒,每隔10個數字輸出乙個字串

public class mythread extends thread

system.out.print(i);

try catch (interruptedexception e)

}}

public static void main(string args)

}

java中sleep 和wait 的區別

sleep方法是thread類中定義的方法,而wait方法是object類中定義的方法。每個物件都有乙個鎖來控制同步訪問,synchronized關鍵字可以和物件的鎖互動,來實現同步方法或同步塊。執行sleep 方法的執行緒會主動讓出cpu 然後cpu就可以去執行其他任務 在sleep指定時間後cp...

Java 中sleep與wait的區別

1 這兩個方法來自不同的類分別是thread和object 2 最主要是sleep方法沒有釋放鎖,而 wait 方法釋放了鎖,使得其他執行緒可以使用同步控制塊或者方法。3 wait,notify和notifyall只能在同步控制方法或者同步控制塊裡面使用,而sleep可以在任何地方使用 使用範圍 s...

java中sleep和wait的區別

結合synchronized,會更好的理解sleep 和wait 這兩個方法,當然也就知道了他們的區別了。這篇部落格就一起學習這兩個方法 sleep 方法是執行緒類 thread 的靜態方法,讓呼叫執行緒進入睡眠狀態,讓出執行機會給其他執行緒,等到休眠時間結束後,執行緒進入就緒狀態和其他執行緒一起競...