JAVA/포스팅

자바 멀티쓰레드

짜집퍼박사(짜박) 2023. 11. 21. 23:48

자바에서 멀티 스레드는 동시에 여러 작업을 수행하는 데 사용됩니다. 멀티 스레드를 사용하면 여러 작업을 동시에 수행하여 프로그램의 성능을 향상시킬 수 있습니다. 다만, 동시에 여러 스레드가 실행되므로 스레드 간의 동기화와 관련된 문제에 주의해야 합니다.

 

멀티 스레드의 특징

 

1. 병렬 실행 : 여러 스레드가 동시에 실행되므로 여러 작업을 병렬로 수행할 수 있습니다.
2. 독립성 : 각 스레드는 독립적으로 실행되며, 다른 스레드의 영향을 받지 않고 자신의 작업을 수행합니다.
3. 공유 자원 : 여러 스레드가 메모리 등의 자원을 공유할 수 있습니다. 이로 인해 동기화 문제가 발생할 수 있습니다.
4. 비동기성 : 다른 스레드가 작업 중인 동안에도 다른 스레드가 작업을 수행할 수 있습니다.

 

멀티 스레드 예제

class MyThread extends Thread {
    public void run() {
        for (int i = 1; i <= 5; i++) {
            System.out.println("Thread " + Thread.currentThread().getId() + " - Iteration " + i);
        }
    }
}

public class MultiThreadExample {
    public static void main(String[] args) {
        MyThread thread1 = new MyThread();
        MyThread thread2 = new MyThread();

        thread1.start();
        thread2.start();
    }
}

위의 예제에서 MyThread 클래스는 Thread 클래스를 상속받아 스레드를 생성하는 클래스입니다. run() 메서드에서는 간단한 반복문을 통해 몇 번의 반복을 수행하는 작업을 정의하고 있습니다. MultiThreadExample 클래스에서는 MyThread 클래스의 인스턴스를 두 개 생성하고, 각각의 스레드를 시작합니다. 두 스레드는 동시에 실행되며 각각의 스레드는 자신의 작업을 수행합니다.

멀티 스레딩은 동시성 프로그래밍에서 중요한 개념 중 하나이며, 적절한 동기화와 관리가 필요합니다. 멀티 스레드 프로그래밍에서는 여러 스레드 간의 자원 공유, 동기화, 데드락 등에 대한 이해가 필요합니다.

 

With ChatGPT

'JAVA > 포스팅' 카테고리의 다른 글

자바 쓰레드 그룹(thread group)  (0) 2023.11.21
자바 쓰레드의 우선순위  (0) 2023.11.21
자바 싱글쓰레드  (0) 2023.11.21
자바 쓰레드 start()와 run()  (0) 2023.11.21
자바 쓰레드의 구현과 실행  (0) 2023.11.21