Thread 그룹은 프로젝트가 커질수록 그에 맞춰 쓰레드도 많아지게 된다.
몰론 스레드마다 이름을 지정해 관리 할 수 있지만 숫자가 많아지면 한계가 있다.
그러한 이유로 그룹으로 묶어 공통으로 설정하고 제어 할 수 있는 기능이 바로 Thread Group이다
기본적으로 모든 스레드는 Main Group으로 자동적으로 설정이 되고
- 스레드 그룹 이름 얻기 -
Threadgroup group = Thread.currentThread.getThreadGroup();
String groupName = group.getName();
스레드 그룹을 생성 시 부모 그룹과 묶을 수 있는데 만약 묶지 않는다면 현재 스레드의 하위 그룹과 묶인다.
- 스레드 그룹 생성 -
Threadgroup group = new ThreadGroup(String name);
Threadgroup group = new ThreadGroup(ThreadGroup parent, String name);
- 스레드에 생성 시 그룹 부여 방법 4가지 -
Thread th = new Thread(Thread group, Runnable target);
Thread th = new Thread(Thread group, String name);
Thread th = new Thread(Thread group, Runnable target, String name);
Thread th = new Thread(Thread group, Runnable target, String name, long stackSize);
그룹을 통해 묶은 스레드는 메소드로 한번에 통제 할 수 있다.
예를들어 interrupt()로 한꺼번에 정지 시키거나
setDaemon(boolean)으로 데몬 그룹으로 설정 할 수 있다.
다양한 메소드는 직접 Eclipse에서 ThreadGroup이름에서 '.'을 눌러 나오는 자동완성 메소드들을 통해서 확인해보면
익숙한 메소드가 많을 것이다.
'개념 및 코딩 > 08.Thread 스레드' 카테고리의 다른 글
[JAVA]08-07.Thread Pool, Pool Block (0) | 2018.09.06 |
---|---|
[JAVA]08-05.Demon Thread (0) | 2018.09.06 |
[JAVA]08-04.Thread State, Control (0) | 2018.09.06 |
[JAVA]08-03.Priority, Synchronized (0) | 2018.09.06 |
[JAVA]08-02.Runnable, Thread (0) | 2018.09.04 |