java sleep方法_百战程序员:java线程的休眠和回复
sleep()介紹
sleep() 定義在Thread.java中。
sleep() 的作用是讓當前線程休眠,即當前線程會從“運行狀態”進入到“休眠(阻塞)狀態”。sleep()會指定休眠時間,線程休眠的時間會大于/等于該休眠時間;在線程重新被喚醒時,它會由“阻塞狀態”變成“就緒狀態”,從而等待cpu的調度執行。
sleep()方法
表示放棄當前cpu的資源,使當前線程不占用計算機的任何資源。如果當前線程獲取到了鎖,sleep()方法是不會放棄鎖的,如果線程被打斷會拋出InterruptException異常。
package com.xxx.util;
import java.util.Date;
/**
* Created with IntelliJ IDEA.
* Date: 15-3-27
* Time: 上午8:51
* To change this template use File | Settings | File Templates.
*/
public class ThreadSleep implements Runnable {
@Override
public void run() {
for(int i=0;i<15;i++){
System.out.printf("startTime:%sn",new Date());
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
//線程中斷在此處理
System.out.println("The thread has bean interrupted");
}
}
}
}
wait()方法:線程必須在同步代碼塊(synchronized)中調用wait()方法,如果在同步代碼塊之外調用wait()方法,jvm將會拋出IllegalMonitorStateException。當一個線程調用wait()方法時,jvm會把這個線程陷入休眠,并釋放掉鎖,同時允許其他線程得到鎖。
Java并發API中,還有另外一個方法可以讓線程讓出CPU。這就是yield()方法,調用該方法就是想Java虛擬機發送消息說明線程可以讓出CPU給其他線程。Java虛擬機并不保證響應這個請求。一般情況下,該方法僅僅在調試程序時使用。
總結
以上是生活随笔為你收集整理的java sleep方法_百战程序员:java线程的休眠和回复的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 铸铁锅炖酸菜汤泡饭后米饭变色?
- 下一篇: 惠普打印机节能环保认证证书_学生在家学习