Hướng dẫn dùng sleep thread trong PHP
Trong bài trước, các bạn đã được học về cách đồng bộ luồng trong Java. Sang bài này, tôi sẽ hướng dẫn các bạn cách tìm hiểu các tính năng của Thread, mở đầu là cách sử dụng Show Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức. 1. sleep()Phương thức Cú pháp Thread.sleep(long millis); // tạm dừng Thread với khoảng thời gian dừng tính bằng millisecond Thread.sleep(long millis, int nanos); // tạm dừng Thread với khoảng thời gian dừng tính bằng thời gian millis (tính bằng milliseconds) cộng với thời gian nanos (tính bằng nanoseconds và nằm trong khoảng từ 0-999999) Bài viết này được đăng tại [free tuts .net] , trong đó Lưu ý: Trong khi sử dụng phương thức Để minh
họa cách sử dụng phương thức DemoSleep.java package phuongthucsleep; public class DemoSleep extends Thread { public void run() { super.run(); for (int i = 1; i <= 5; i++) { System.out.println("Đây là Thread thứ " + i); System.out.println("Tạm dừng 5000 milliseconds trước khi chuyển sang Thread tiếp theo"); if (i == 5) { System.out.println("Kết thúc!"); } try { Thread.sleep(5000); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } // tạm dừng 5000 milliseconds trước khi in ra câu tiếp theo } } } Test.java package phuongthucsleep; public class Test { public static void main(String[] args) { DemoSleep t1 = new DemoSleep(); t1.start(); } } Kết quả sau khi biên dịch chương trình: 2. join()Phương thức Để hiểu hơn vai trò của Ví dụ không sử dụng join()NoneJoinThread.java package phuongthucjoin; public class NoneJoinThread extends Thread { public void run() { super.run(); System.out.println(Thread.currentThread().getName() + " đang chạy."); try { Thread.sleep(5000); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println("Kết thúc " + Thread.currentThread().getName()); } } TestNoneJoinThread.java package phuongthucjoin; public class TestNoneJoinThread { public static void main(String[] args) { NoneJoinThread thread1 = new NoneJoinThread(); thread1.setName("Thread 1"); NoneJoinThread thread2 = new NoneJoinThread(); thread2.setName("Thread 2"); NoneJoinThread thread3 = new NoneJoinThread(); thread3.setName("Thread 3"); thread1.start(); thread2.start(); thread3.start(); } } Kết quả sau khi biên dịch chương trình: Ví dụ sử dụng join()JoinThread.java package phuongthucjoin; public class JoinThread extends Thread { public void run() { super.run(); System.out.println(Thread.currentThread().getName() + " đang chạy."); try { Thread.sleep(5000); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println("Kết thúc " + Thread.currentThread().getName()); } } TestJoinThread.java package phuongthucjoin; public class TestJoinThread { public static void main(String[] args) { JoinThread thread1 = new JoinThread(); thread1.setName("Thread 1"); thread1.start(); // khởi chạy thread 1 try { thread1.join(); } catch (InterruptedException e) { e.printStackTrace(); } JoinThread thread2 = new JoinThread(); thread2.setName("Thread 2"); thread2.start(); // khởi chạy thread2 try { thread2.join(); } catch (InterruptedException e) { e.printStackTrace(); } JoinThread thread3 = new JoinThread(); thread3.setName("Thread 3"); thread3.start(); // khởi chạy thread3 try { thread3.join(); } catch (InterruptedException e) { e.printStackTrace(); } } } Kết quả sau khi biên dịch chương trình: Giải thích hoạt động của hai chương trình trênTrong ví dụ 1 (ví dụ không sử dụng Còn khi chúng ta sử dụng 3. Lời kếtTrong bài này, tôi đã hướng dẫn các bạn tìm hiểu về cách sử dụng |