Phương thức sleep() là phương thức static của lớp Thread làm luồng ngủ/dừng hoạt động trong một khoảng thời gian xác định. sleep() ném InterruptedException nếu luồng bị ngắt bởi luồng khác, nghĩa là Thread.sleep() phải đặt trong try-catch hoặc khai báo throws clause. Khi gọi Thread.sleep(), nó tương tác với thread scheduler để đưa luồng hiện tại vào trạng thái waiting trong một khoảng thời gian. Sau khi hết thời gian chờ, luồng chuyển từ waiting sang runnable.
Cú pháp
public static void sleep(long milliseconds) public static void sleep(long milliseconds, int nanoseconds)
sleep(long milliseconds) làm luồng ngủ trong milliseconds.
sleep(long milliseconds, int nanoseconds) làm luồng ngủ milliseconds + nanoseconds.
Ví dụ
class UserThread extends Thread {
public void run() {
for(int i = 1; i <= 5; i++) {
System.out.println("User Thread");
try {
Thread.sleep(1000); // ngủ 1 giây
} catch(InterruptedException e) {
System.out.println("An Exception occured: " + e);
}
}
}
}
public class SleepMethodTest {
public static void main(String args[]) {
UserThread ut = new UserThread();
ut.start(); // bắt đầu thread
}
}
Kết quả
User Thread User Thread User Thread User Thread User Thread