91. Multithread trong lập trình Java

Multithreading trong lập trình Java là quá trình chạy nhiều luồng (threads) cùng một lúc trong một ứng dụng Java. Mỗi luồng là một dòng thực thi độc lập, cho phép ứng dụng thực hiện nhiều công việc cùng một lúc và tận dụng tài nguyên hệ thống hiệu quả hơn.

Java hỗ trợ đa luồng thông qua một API đơn giản được xây dựng sẵn. Để tạo và quản lý đa luồng trong Java, bạn có thể làm theo các bước sau:

  1. Kế thừa từ lớp Thread: Bạn có thể tạo một lớp mới kế thừa từ lớp Thread và ghi đè phương thức run() để định nghĩa công việc mà luồng sẽ thực hiện.
java
class MyThread extends Thread {
    @Override
    public void run() {
        // Công việc mà luồng thực hiện
        for (int i = 0; i < 5; i++) {
            System.out.println("Thread " + Thread.currentThread().getId() + " is running");
        }
    }
}
  1. Implement giao diện Runnable: Bạn cũng có thể tạo một lớp mới triển khai giao diện Runnable và định nghĩa công việc trong phương thức run().
java
class MyRunnable implements Runnable {
    @Override
    public void run() {
        // Công việc mà luồng thực hiện
        for (int i = 0; i < 5; i++) {
            System.out.println("Thread " + Thread.currentThread().getId() + " is running");
        }
    }
}
  1. Khởi tạo và bắt đầu luồng: Sau khi định nghĩa công việc cho luồng, bạn có thể khởi tạo luồng và bắt đầu nó bằng cách gọi phương thức start().
java
public class MultiThreadExample {
    public static void main(String[] args) {
        // Tạo và bắt đầu luồng bằng cách kế thừa từ lớp Thread
        MyThread thread1 = new MyThread();
        MyThread thread2 = new MyThread();
        thread1.start();
        thread2.start();

        // Tạo và bắt đầu luồng bằng cách triển khai giao diện Runnable
        MyRunnable runnable1 = new MyRunnable();
        MyRunnable runnable2 = new MyRunnable();
        Thread thread3 = new Thread(runnable1);
        Thread thread4 = new Thread(runnable2);
        thread3.start();
        thread4.start();
    }
}

Khi chạy ví dụ trên, bạn sẽ thấy các luồng được thực hiện cùng một lúc và in ra thông tin trạng thái của từng luồng. Lưu ý rằng thứ tự thực hiện các luồng có thể thay đổi mỗi lần bạn chạy chương trình do tính không xác định trong việc lập lịch của hệ điều hành.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top