스레드 그룹 - 1

"안녕, 아미고!"

"우리는 스레드에 대한 보다 철저한 탐색을 시작할 것입니다."

"스레드 그룹의 개념은 스레드가 다른 모든 스레드를 반복적으로 중지하고 방해하는 것을 방지하기 위해 도입되었습니다. 스레드는 동일한 스레드 그룹의 다른 스레드에만 영향을 미칠 수 있습니다. ThreadGroup은 스레드 그룹을 관리하는 클래스입니다. 이 접근 방식을 통해 스레드를 보호할 수 있습니다. 원하지 않는 변경으로부터."

"때때로 완전히 신뢰할 수 없는 코드를 실행해야 합니다. 따라서 모든 스레드를 별도의 그룹에 넣고 메인 스레드 그룹의 작업을 방해하지 않도록 차단하는 것이 편리합니다."

"스레드 그룹은 다른 그룹을 포함할 수 있습니다. 이렇게 하면 모든 스레드와 그룹을 계층적 트리로 구성할 수 있습니다. 이러한 트리에서 각 스레드 그룹(초기 그룹 제외)에는 자체 부모가 있습니다."

"ThreadGroup 클래스에는 모든 스레드 목록을 가져오고 영향을 미치거나 변경할 수 있는 메서드가 있습니다. 명시적으로 그룹을 지정하지 않고 새 스레드를 생성하면 생성자 스레드와 동일한 그룹에 합류합니다."

"다음은 ThreadGroup 클래스의 일부 메서드입니다."

방법 설명
String getName()
그룹 이름을 반환
ThreadGroup getParent()
상위 그룹을 반환합니다.
void interrupt()
그룹의 모든 스레드를 중단합니다.
boolean isDaemon()
그룹이 데몬인지 확인
void setDaemon(boolean daemon)
그룹의 데몬 속성을 설정합니다.
int activeCount()
그룹 및 해당 하위 그룹의 라이브 스레드 수를 반환합니다.
int activeGroupCount()
그룹 및 해당 하위 그룹의 활성 그룹 수를 반환합니다.
int enumerate(Thread[] list)
모든 활성 스레드를 배열에 넣고 그 수를 반환합니다.
int getMaxPriority()
그룹의 스레드에 대한 최대 우선 순위를 반환합니다.
void setMaxPriority(int priority)
그룹 및 하위 그룹에서 스레드의 최대 우선 순위를 설정할 수 있습니다.