Thread가 속할 그룹 네임을 지정하지 않으면
생성된 스레드는 자신을 생성한 스레드의 그룹에 속한다.
ThreadAA.java
현재 스레드가 속한 그룹 이름을 출력한다.
public class ThreadAA extends Thread{
@Override
public void run() {
System.out.print("스레드AA : ");
System.out.println(Thread.currentThread().getThreadGroup());
}
}
ThreadBB.java
1. 현재 스레드가 속한 그룹 이름을 출력한다.
2. ThreadCC를 생성하고 동작한다.
public class ThreadBB extends Thread{
// CC스레드를 생성 및 동작
@Override
public void run() {
System.out.print("스레드BB : ");
System.out.println(Thread.currentThread().getThreadGroup());
ThreadCC cc = new ThreadCC();
cc.start();
}
}
Main
1. ThreadAA와 ThreadBB를 동작한다.
2. 현재 스레드가 속한 그룹 이름을 출력한다.
public class ThreadGroupExample {
public static void main(String[] args) {
ThreadAA aa = new ThreadAA();
ThreadBB bb = new ThreadBB();
aa.start();
bb.start();
System.out.println("main스레드 : " + Thread.currentThread().getThreadGroup()); // 스레드가 속한 그룹을 얻는다.
}
}
Main 스레드는 main 그룹에 속해 있다.
TheadAA와 ThreaBB는
Main 스레드가 생성하였고 그룹을 지정하지 않았다.
따라서 TheadAA와 ThreaBB는
자신을 생성해준 Main 스레드가 속한 그룹, 즉 main 그룹에 속한다.
ThreadBB는 ThreadCC를 생성하면서 그룹을 지정하지 않았다.
따라서 ThreadCC는 ThreadBB가 속한 그룹 즉, main 그룹에 속한다.
[Stream] 스트림 ForEach 메서드 예제 (0) | 2020.06.16 |
---|---|
[Thread] ThreadGroup : 그룹 지정 (0) | 2020.06.16 |
[Thread] 멀티스레드 예제 (0) | 2020.06.15 |
Thread 의 생성 : Runnable 구현, Thread 상속 (0) | 2020.06.15 |
FileInputStream, OutPutStream,File 객체를 이용한 파일 복사 및 성능 테스트 (0) | 2020.06.15 |
댓글 영역