Java Threads

Giới thiệu về Java Threads

Trong lập trình Java, Threads (Luồng) cho phép thực hiện nhiều công việc đồng thời trong cùng một ứng dụng. Điều này rất hữu ích trong các tình huống cần xử lý nhiều tác vụ cùng lúc, như trong các ứng dụng mạng, chơi game hoặc xử lý dữ liệu lớn. Sử dụng luồng giúp tối ưu hiệu suất và tăng cường trải nghiệm người dùng.

Định nghĩa về Java Threads

Một thread là một đơn vị thực thi độc lập trong một chương trình. Mỗi thread đều có bộ nhớ riêng và có thể thực hiện các tác vụ mà không làm tê liệt các phần khác của chương trình. Trong Java, mỗi ứng dụng chạy đều có ít nhất một thread chính (main thread), và chúng ta có thể tạo thêm nhiều thread khác tùy theo nhu cầu.

Cú pháp để tạo Threads

Có hai cách cơ bản để tạo thread trong Java: sử dụng lớp Thread và triển khai interface Runnable.

1. Sử dụng lớp Thread

class MyThread extends Thread {
    public void run() {
        System.out.println("Thread đang chạy: " + Thread.currentThread().getName());
    }
}

public class Main {
    public static void main(String[] args) {
        MyThread thread1 = new MyThread();
        thread1.start(); // Bắt đầu thread
    }
}

2. Triển khai interface Runnable

class MyRunnable implements Runnable {
    public void run() {
        System.out.println("Thread đang chạy: " + Thread.currentThread().getName());
    }
}

public class Main {
    public static void main(String[] args) {
        Thread thread2 = new Thread(new MyRunnable());
        thread2.start(); // Bắt đầu thread
    }
}

Ví dụ cụ thể về Java Threads

Dưới đây là một ví dụ cụ thể tạo hai thread thực hiện song song. Một thread sẽ đếm từ 1 đến 5, và thread kia sẽ đếm từ 5 đến 1.

class CountUp implements Runnable {
    public void run() {
        for (int i = 1; i <= 5; i++) {
            System.out.println("Đếm lên: " + i);
            try {
                Thread.sleep(1000); // Tạm dừng 1 giây
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }
}

class CountDown implements Runnable {
    public void run() {
        for (int i = 5; i >= 1; i--) {
            System.out.println("Đếm xuống: " + i);
            try {
                Thread.sleep(1000); // Tạm dừng 1 giây
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }
}

public class Main {
    public static void main(String[] args) {
        Thread countUpThread = new Thread(new CountUp());
        Thread countDownThread = new Thread(new CountDown());
        
        countUpThread.start();
        countDownThread.start();
    }
}

Kết luận

Java Threads là một thành phần cực kỳ quan trọng trong lập trình Java, cho phép thực hiện nhiều nhiệm vụ đồng thời và nâng cao hiệu suất ứng dụng. Bằng cách sử dụng các kỹ thuật này, bạn có thể tối ưu hóa các ứng dụng của mình và tạo ra trải nghiệm mượt mà cho người dùng.