Các hàm trong thư viện Thread

Một phần của tài liệu 28011_1712202001859504LUANVAN (Trang 45 - 48)

5. Ý nghĩa khoa học và thực tiễn của đề tài

4.1.2.Các hàm trong thư viện Thread

Thư viện Thread trong Java cung cấp cho chúng ta các hàm khởi tạo và phương thức để thực hiện các hoạt động tính toán trên môi trường. Thông thường một thread được sinh ra, bắt đầu, chạy tính toán và hủy. Trạng thái của một thread diễn ra như sau:

Hình 4.1. Trạng thái của một thread

- New: là trạng thái thread được tạo ra như chưa được kích hoạt để hoạt động thực hiện các lệnh bên trong.

- Runnable: thread đã được kích hoạt để hoạt động thực hiện các lệnh bên trong.

- Wait: đôi lúc thread đi vào trạng thái đợi. Có thể là đợi các thread khác thực hiện xong rồi mới thực hiện hoặc đợi trong một khoản thời gian hoặc đợi một sự kiện nào đó thì mới bắt đầu thực hiện. Lúc này hệ thống sẽ không cung cấp

- Terminated: thread kết thúc quá trình xử lý và chấm dứt. Các hàm khởi tạo thread:

1. Thread(): Khởi tạo thông thường

2. Thread(String name): Khởi tạo với tên thread

3. Thread(Runnable r): Khởi tạo cung cấp lớp triển khai

4. Thread(Runnable r, String name): Khởi tạo cung cấp lớp triển khai cùng với tên thread

Ở đây chúng ta cần chú ý đến Runnable là một đối tượng lớp triển khai định nghĩa một phương thức đơn run() để có thể kích hoạt cho thread vào trạng thái hoạt động.

Ngoài ra còn có thứ tự ưu tiên Priority, với mỗi Thread trong Java đều có một quyền ưu tiên để giúp cho hệ điều hành xác định được thứ tự thực hiện của các Thread được thực thi. Thứ tự ưu tiên được quy định nằm trong khoản MIN_PRIORITY(có giá trị 1) và MAX_PRIORITY(có giá trị 10). Những thread có quyền ưu tiên cao hơn sẽ được ưu tiên xử lý. Nếu không quy định Java mặt định thread có quyền ưu tiên ngang nhau.

Runnable

Wait Terminated

Danh sách dưới đây là các phương thức quan trọng trong việc lập trình với thread, được gọi trên một đối tượng Thread cụ thể:

1. public void run(): Được sử dụng để thực hiện hành động cho một thread.. 2. public void start(): Bắt đầu thực hiện thread. JVM gọi phương thức run()

trên thread.

3. public String getName(): Trả về tên của thread.

4. public void setName(String name): Thay đổi tên của thread. 5. public int getPriority(): Trả về mức độ ưu tiên của thread.

6. public int setPriority(int priority): Thay đổi mức độ ưu tiên của thread. 7. public void join(): Đợi cho một thread chết.

8. public void join(long miliseconds): Đợi cho một thread chết với các mili giây quy định.

9. public int getId(): Trả về id của thread.

10. public Thread.State getState(): Trả về trạng thái của thread. 11. public boolean isAlive(): Kiểm tra nếu thread còn sống.

12. public void suspend(): Được sử dụng để hoãn lại các thread (không dùng nữa).

13. public void resume(): Được sử dụng để tiếp tục các thread đang bị hoãn (không dùng nữa).

14. public void stop(): Được sử dụng để dừng thread (không dùng nữa). 15. public boolean isDaemon(): Kiểm tra nếu thread là một luồng hiểm. 16. public void setDaemon(boolean b): Đánh dấu thread là luồng hiểm hoặc

luồng người dùng.

17. public void interrupt(): Ngắt thread.

18. public boolean isInterrupted(): Kiểm tra nếu thread đã bị ngắt.

19. public static boolean interrupted(): Kiểm tra nếu thread hiện tại đã bị ngắt.

Ngoài ra còn có các phương thức tĩnh được gọi trên một thread đang chạy hiện tại, liệt kê dưới đây: (adsbygoogle = window.adsbygoogle || []).push({});

1. public void yield(): Làm cho các đối tượng thread đang thực thi để tạm thời tạm dừng và cho phép các thread khác để thực thi.

2. public void sleep(long miliseconds): Làm cho thread hiện tại tạm ngừng thực thi cho số mili giây quy định.

3. public static boolean holdsLock(Object x): Trả về true nếu thread giữ lock trên Object đã cho

4. public Thread currentThread(): Trả về tham chiếu của thread đang được thi hành.

5. public static void dumpStack(): In ra stack trace cho thread đang chạy hiện tại. Nó rất hữu ích khi debugging một ứng dụng đa luồng

Một phần của tài liệu 28011_1712202001859504LUANVAN (Trang 45 - 48)