Java

Java_스레드 이름

ssmm95 2024. 10. 17. 10:52

스레드 이름 : 스레드를 구분 할 수 있도록 붙여주는 라벨이다 

자바 프로그램에서 여러 스레드가 실행될 때 각각의 스레드르 구분하기 위해 붙여주는 고유한이름이다 

메인 스레드는 main , 작업스레드는 Thread-n 이라는 이름자동적으로 부여된다 

사용자가 스레드 이름을 직접설정 할 수도 있다 

스레드에 이름을 붙이는 이유는 여러스레드가 동시에 실행될 떄 , 어떤 스레드가 어떤 일을 하는지 쉽게 파악하기 위해서이다 . 이는 스레드가 문제를 일으킬 때 문제추적을 쉽게 할 수 있는 디버깅의 편리를 도와준다

 

1) 생성할 때 이름을 설정하는 방법 

public class Main {
    public static void main(String[] args) {
        Thread thread1 = new Thread(() -> {
            System.out.println("스레드 1 실행 중!");
        }, "첫 번째 스레드");

        Thread thread2 = new Thread(() -> {
            System.out.println("스레드 2 실행 중!");
        }, "두 번째 스레드");

        thread1.start(); // 첫 번째 스레드 실행
        thread2.start(); // 두 번째 스레드 실행
    }
}

// 스레드를 생성할 때 두 번 째 매개변수로 스레드 이름을 설정할 수있다 
"첫번째 스레드" "두번째 스레드"

 

2) 스레드를 생성한 후에 이름을 설정하는 방법

public class Main {
    public static void main(String[] args) {
        Thread thread = new Thread(() -> {
            System.out.println("스레드 실행 중!");
        });

        thread.setName("작업 스레드");
        thread.start();
    }
}

//setName() 메서드 사용해서 이름을 붙인다 
스레드를 먼저 생성 후 이름을 붙여줄 때 사용한다

 

public class Main {
    public static void main(String[] args) {
        Thread thread = new Thread(() -> {
            System.out.println("현재 스레드 이름: " + Thread.currentThread().getName());
        });

        thread.setName("작업 스레드");
        thread.start();
    }
}

//getName() 메서드를 사용해서 스레드의 이름을 리턴한다
Thread.currentThread().getName()은 현재 실행중인 스레드의 이름을 가져오는 코드이다

'Java' 카테고리의 다른 글

Java_Wait() notify() 이용한 스레드 제어  (1) 2024.10.17
Java_스레드 상태  (0) 2024.10.17
Java_메인 스레드  (1) 2024.10.17
Java_멀티 스레드와 멀티 프로세스의 차이  (0) 2024.10.17
Java_제네릭(Generics)  (0) 2024.10.16