Phương thức sleep trong java – học Java miễn phí hay nhất – VietTuts

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