ThreadGroup — 스레드 그룹 클래스

ThreadGroup — 스레드 그룹 클래스

ThreadGroup는 스레드의 묶음(set)을 나타내요. 또한 스레드 그룹은 다른 스레드 그룹을 포함할 수도 있어요. 스레드 그룹은 트리를 형성하며, 초기 스레드 그룹을 제외한 모든 스레드 그룹은 부모를 가져요. 스레드 그룹은 이름과 최대 우선순위(maximum priority)를 가져요. 이름은 그룹을 만들 때 지정되며 변경할 수 없어요. 그룹의 최대 우선순위는 그룹에서 생성되는 스레드의 최대 우선순위예요. 처음에는 부모로부터 상속받아요.

출처: Java API Reference

본문

public ThreadGroup(String name) — 지정된 이름으로 새 스레드 그룹을 만들어요. 생성한 스레드의 스레드 그룹이 부모가 돼요.

public ThreadGroup(ThreadGroup parent, String name) — 지정된 부모 그룹과 이름으로 새 스레드 그룹을 만들어요.

public final String getName() — 이 스레드 그룹의 이름을 반환해요.

public final ThreadGroup getParent() — 이 스레드 그룹의 부모 그룹을 반환해요. 최상위 그룹이면 null을 반환해요.

public final int getMaxPriority() — 이 그룹의 최대 우선순위를 반환해요.

@Deprecated(since="16", forRemoval=true) public final boolean isDaemon() — 이 그룹이 데몬 그룹인지 반환해요. 사용이 중지됐어요.

public final void setMaxPriority(int pri) — 이 그룹의 최대 우선순위를 설정해요. 그룹의 최대 우선순위는 부모의 최대 우선순위보다 클 수 없어요.

public final boolean parentOf(ThreadGroup g) — 이 스레드 그룹이 인자 그룹 g와 같거나 g의 조상이면 true를 반환해요.

@Deprecated(since="17", forRemoval=true) public final void checkAccess() — 이 스레드 그룹을 수정할 권한이 현재 스레드에 있는지 검사해요.

public int activeCount() — 이 그룹과 그 하위 그룹에서 활성 스레드 수의 추정치를 반환해요.

public int enumerate(Thread[] list) ... enumerate(Thread[] list, boolean recurse) — 활성 스레드의 추정치를 배열에 복사해요.

public int activeGroupCount() — 활성 스레드 그룹 수의 추정치를 반환해요.

enumerate(ThreadGroup[] list) ... — 활성 스레드 그룹을 배열에 복사해요.

@Deprecated public final void stop() — 이 그룹의 모든 스레드를 중지해요. 위험해서 사용이 중지됐어요.

public final void interrupt() — 이 그룹의 모든 스레드를 인터럽트해요.

@Deprecated public final void suspend() ... resume() ... @Deprecated(since="16") public final void destroy() — 사용이 중지된 메서드들이에요.

public void list() — 이 그룹에 대한 정보를 표준 출력으로 덤프해요.

public void uncaughtException(Thread t, Throwable e) — 이 그룹의 스레드가 잡히지 않은 예외를 던졌을 때 호출돼요.

public String toString() — 이 스레드 그룹의 문자열 표현을 반환해요.

스레드 그룹은 스레드의 집합을 관리·통제하기 위한 레거시 메커니즘으로, 현대의 자바 애플리케이션에서는 가상 스레드와 구조적 동시성(structured concurrency)이 그 역할을 대체하고 있어요.

더 알아보기 (Learn more)