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

+ Recent posts