Đa Luồng (Multithreading) - VOER
Có thể bạn quan tâm
Khi các chương trình Java được thực thi, luồng chính luôn luôn đang được thực hiện. Đây là 2 nguyên nhân quan trọng đối với luồng chính:
- Các luồng con sẽ được tạo ra từ nó.
- Nó là luồng cuối cùng kết thúc việc thực hiện. Trong chốc lát luồng chính ngừng thực thi, chương trình bị chấm dứt.
Cho dù luồng chính được tạo ra một cách tự động với chương trình thực thi, nó có thể được điều khiển thông qua một luồng đối tượng.
Các luồng có thể được tạo ra từ hai con đường:
- Trình bày lớp như là một lớp con của lớp luồng, nơi mà phương thức run() của lớp luồng cần được ghi đè. Lấy ví dụ:Class Mydemo extends Thread { //Class definition public void run() { //thực thi } }
- Trình bày một lớp mà lớp này thực hiện lớp Runnable. Rồi thì định nghĩa phương thức run(). Class Mydemo implements Runnable { //Class definition public void run() { //thực thi } }
[link] sẽ chỉ ra sự điều khiển luồng chính như thế nào
import java.io.*; public class Mythread extends Thread{ /** * Mythread constructor comment. */ public static void main(String args[]){ Thread t = Thread.currentThread(); System.out.println("The current Thread is :" + t); t.setName("MyJavaThread"); System.out.println("The thread is now named: " + t); try{ for(int i = 0; i <3;i++){ System.out.println(i); Thread.sleep(1500); } }catch(InterruptedException e){ System.out.println("Main thread interupted"); } } }Hình sau đây sẽ chỉ ra kết quả xuất ra màn hình của chương trình trên
Trong kết quả xuất ra ở trên
Mỗi luồng trong chương trình Java được đăng ký cho một quyền ưu tiên. Máy ảo Java không bao giờ thay đổi quyền ưu tiên của luồng. Quyền ưu tiên vẫn còn là hằng số cho đến khi luồng bị ngắt.
Mỗi luồng có một giá trị ưu tiên nằm trong khoảng của một Thread.MIN_PRIORITY của 1, và một Thread.MAX_PRIORITY của 10. Mỗi luồng phụ thuộc vào một nhóm luồng, và mỗi nhóm luồng có quyền ưu tiên của chính nó. Mỗi luồng được nhận một hằng số ưu tiên của phương thức Thread.PRIORITY là 5. Mỗi luồng mới thừa kế quyền ưu tiên của luồng mà tạo ra nó.
Lớp luồng có vài phương thức khởi dựng, hai trong số các phương thức khởi dựng được đề cập đến dưới đây:
- public Thread(String threadname)
Cấu trúc một luồng với tên là “threadname”
- public Thread()
Cấu trúc một luồng với tên “Thread, được ràng buộc với một số; lấy ví dụ, Thread-1, Thread-2, v.v…
Chương trình bắt đầu thực thi luồng với việc gọi phương thức start(), mà phương thức này phụ thuộc vào lớp luồng. Phương thức này, lần lượt, viện dẫn phương thức run(), nơi mà phương thức định nghĩa tác vụ được thực thi. Phương thức này có thể viết đè lên lớp con của lớp luồng, hoặc với một đối tượng Runnable.
Từ khóa » đa Luồng Thread Java
-
Lập Trình đa Luồng Trong Java (Java Multi-threading) - TopDev
-
Tìm Hiểu Về Xử Lí đa Luồng Trong Java - Viblo
-
Thread Trong Java - Học Java Miễn Phí Hay Nhất - VietTuts
-
Hướng Dẫn Lập Trình đa Luồng Trong Java - Java Multithreading
-
Tất Tần Tật Về Thread (Luồng) Trong Java Bạn Nên Biết - ITNavi
-
Lập Trình Đa Luồng Trong JAVA - NIIT - ICT Hà Nội
-
Bài 31: Đa Luồng Trong Java - Lập Trình Java Cơ Bản
-
Bài Toán đa Luồng (MultiThreading In Java) đọc File Trong Java
-
Lập Trình đa Luồng Với Thread Trong Java | Tìm ở đây
-
Thread Trong Java Là Gì Và Ưu Nhược Điểm Của Nó? - CodeLearn
-
Đa Luồng Nhanh Hay Chậm? - CodeLearn
-
[PDF] CHƯƠNG 3: QUẢN LÝ TIẾN TRÌNH VÀ LUỒNG - SOICT
-
Thread Trong Java
-
Lập Trình đa Luồng (multi-thread Programming