Phương thức sleep() của lớp Thread được sử dụng để tạm ngứng một thread cho một khoảng thời gian nhất định.
Cú pháp của phương thức sleep trong java
Lớp Thread cung cấp hai phương thức để tạm ngưng một thread:
- public static void sleep(long miliseconds)throws InterruptedException
- public static void sleep(long miliseconds, int nanos)throws InterruptedException
Ví dụ về phương thức sleep trong java
class TestSleepMethod1 extends Thread { public void run() { for (int i = 1; i < 5; i++) { try { Thread.sleep(500); } catch (InterruptedException e) { System.out.println(e); } System.out.println(i); } } public static void main(String args[]) { TestSleepMethod1 t1 = new TestSleepMethod1(); TestSleepMethod1 t2 = new TestSleepMethod1(); t1.start(); t2.start(); } }
Output:
1 1 2 2 3 3 4 4
Như bạn biết rõ rằng tại một thời điểm chỉ có một thread được thực thi. Nếu bạn tạm ngưng một thread trong một khoảng thời gian nhất định, thì thread scheduler chọn một thread khác để thực thi.
Trường hợp không sử dụng phương thức sleep()
class TestSleepMethod1 extends Thread { public void run() { for (int i = 1; i < 5; i++) { System.out.println(i); } } public static void main(String args[]) { TestSleepMethod1 t1 = new TestSleepMethod1(); TestSleepMethod1 t2 = new TestSleepMethod1(); t1.start(); t2.start(); } }
Output:
1 2 3 4 1 2 3 4