sleep()的作用是讓目前線程進入休眠,目前線程會由運作狀态進入到阻塞狀态,sleep()可以指定休眠時間,休眠時間會大于等于該休眠時間,線上程被重新喚醒時,線程的狀态由阻塞狀态變成就緒狀态,進而等待CPU進行排程執行。
示例代碼:
class ThreadA extends Thread{
public ThreadA(String name){
super(name);
}
public synchronized void run() {
try {
for(int i=0; i <10; i++){
System.out.printf("%s: %d\n", this.getName(), i);
// i能被4整除時,休眠100毫秒
if (i%4 == 0)
Thread.sleep(100);
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
public class SleepTest{
public static void main(String[] args){
ThreadA t1 = new ThreadA("t1");
t1.start();
}
}