|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
java.lang.Objectjava.lang.ThreadGroup
public class ThreadGroup
thread 그룹은, thread의 집합을 나타냅니다. 게다가 thread 그룹에는 다른 thread 그룹이 포함되는 일도 있습니다. thread 그룹은 트리를 형성해, 최초의 thread 그룹을 제외해 그 중에 부모를 가집니다.
thread는, 그 자체의 thread 그룹에 대한 정보에 액세스 하는 것을 허가되고 있습니다만, 그 thread 그룹의 친thread 그룹 또는 그 외의 thread 그룹에 대한 정보에 액세스 할 수 없습니다.
생성자 의 개요 | |
---|---|
ThreadGroup (String name)
새로운 thread 그룹을 구축합니다. |
|
ThreadGroup (ThreadGroup parent,
String name)
새로운 thread 그룹을 작성합니다. |
메소드의 개요 | |
---|---|
int |
activeCount ()
이 thread 그룹내의 액티브 thread의 대체로의 수를 돌려줍니다. |
int |
activeGroupCount ()
이 thread 그룹내의 액티브 그룹의 대체로의 수를 돌려줍니다. |
boolean |
allowThreadSuspension (boolean b)
추천 되고 있지 않습니다. 이 호출의 정의는, 추천되어 있지 않은 suspend() 에 의존합니다.
또, 이 호출의 동작은 지정되지 않습니다. |
void |
checkAccess ()
현재 실행중의 thread가 이 thread 그룹을 변경하는 액세스권을 가지고 있을지 어떨지를 판정합니다. |
void |
destroy ()
이 thread 그룹과 그 소그룹의 모든 것을 파기합니다. |
int |
enumerate (Thread [] list)
이 thread 그룹과 그 소그룹내의 각 액티브 thread를, 지정된 배열에 카피합니다. |
int |
enumerate (Thread [] list,
boolean recurse)
이 thread 그룹내의 각 액티브 thread를, 지정된 배열에 카피합니다. |
int |
enumerate (ThreadGroup [] list)
이 thread 그룹내의 각 액티브 소그룹에의 참조를, 지정된 배열에 카피합니다. |
int |
enumerate (ThreadGroup [] list,
boolean recurse)
이 thread 그룹내의 각 액티브 소그룹에의 참조를, 지정된 배열에 카피합니다. |
int |
getMaxPriority ()
이 thread 그룹의 최고 우선 순위를 돌려줍니다. |
String |
getName ()
이 thread 그룹의 이름을 돌려줍니다. |
ThreadGroup |
getParent ()
이 thread 그룹의 부모를 돌려줍니다. |
void |
interrupt ()
이 thread 그룹내의 모든 thread에 끼어듭니다. |
boolean |
isDaemon ()
이 thread 그룹이 demon thread 그룹일지 어떨지를 판정합니다. |
boolean |
isDestroyed ()
이 thread 그룹이 파기되었는지의 여부를 판정합니다. |
void |
list ()
이 thread 그룹에 대한 정보를 표준 출력에 출력합니다. |
boolean |
parentOf (ThreadGroup g)
이 thread 그룹이 thread 그룹 인수이든가, 혹은 게다가 위thread 그룹 중의 1 개(살)일지 어떨지를 판정합니다. |
void |
resume ()
추천 되고 있지 않습니다. 이 메소드는 단지 Thread.suspend 및 ThreadGroup.suspend 와 조합해 사용됩니다. 모두 데드락을 발생시키기 쉽기 때문에 추천 되지 않습니다. 자세한 것은 Thread.suspend() 를 참조해 주세요. |
void |
setDaemon (boolean daemon)
이 thread 그룹의 demon 상태를 변경합니다. |
void |
setMaxPriority (int pri)
그룹의 최고 우선 순위를 설정합니다. |
void |
stop ()
추천 되고 있지 않습니다. 이 메소드는 본질적으로 안전하지는 않습니다. 자세한 것은 Thread.stop() 를 참조해 주세요. |
void |
suspend ()
추천 되고 있지 않습니다. 이 메소드는 본질적으로 데드락을 발생시키기 쉬워지고 있습니다. 자세한 것은 Thread.suspend() 를 참조해 주세요. |
String |
toString ()
이 ThreadGroup 의 캐릭터 라인 표현을 돌려줍니다. |
void |
uncaughtException (Thread t,
Throwable e)
이 thread 그룹내의 thread가, 캐치되어 있지 않은 예외를 위해서(때문에) 정지해, thread에 고유 Thread.UncaughtExceptionHandler 가 갖춰져 있지 않을 때에, Java 가상 머신에 의해 불려 갑니다. |
클래스 java.lang. Object 로부터 상속된 메소드 |
---|
clone , equals , finalize , getClass , hashCode , notify , notifyAll , wait , wait , wait |
생성자 의 상세 |
---|
public ThreadGroup(String name)
친thread 그룹의 checkAccess
메소드는, 인수없이 불려 갑니다. 이 결과, 시큐리티 예외가 발생하는 일이 있습니다.
name
- 새로운 thread 그룹의 이름
SecurityException
- 현재의 thread가, 지정된 thread 그룹내의 thread를 작성할 수 없는 경우checkAccess()
public ThreadGroup(ThreadGroup parent, String name)
친thread 그룹의 checkAccess
메소드는, 인수없이 불려 갑니다. 이 결과, 시큐리티 예외가 발생하는 일이 있습니다.
parent
- 부모의 thread 그룹name
- 새로운 thread 그룹의 이름
NullPointerException
- thread 그룹의 인수가 null
의 경우
SecurityException
- 현재의 thread가, 지정된 thread 그룹내의 thread를 작성할 수 없는 경우SecurityException
,
checkAccess()
메소드의 상세 |
---|
public final String getName()
public final ThreadGroup getParent()
부모가 null
가 아닌 경우, 최초로 친thread 그룹의 checkAccess
메소드가 인수없이 불려 갑니다. 이 결과, 시큐리티 예외가 throw 되는 일이 있습니다.
null
인 thread 그룹은, 톱 레벨의 thread 그룹만
SecurityException
- 현재의 thread가 이 thread 그룹을 변경할 수 없는 경우checkAccess()
,
SecurityException
,
RuntimePermission
public final int getMaxPriority()
setMaxPriority(int)
public final boolean isDaemon()
true
, 그렇지 않은 경우는 false
public boolean isDestroyed()
public final void setDaemon(boolean daemon)
우선, 이 thread 그룹의 checkAccess
메소드가 인수없이 불려 갑니다. 이 결과, 시큐리티 예외가 throw 되는 일이 있습니다.
demon thread 그룹은, 그 마지막 thread가 정지하는 경우, 또는 그 마지막 thread 그룹이 파기되는 경우에 자동적으로 파기됩니다.
daemon
- true
의 경우는, 이 thread 그룹을 demon thread 그룹으로서 마크 해, 그렇지 않은 경우는, 이 thread 그룹을 일반의 것으로 해 마크 한다
SecurityException
- 현재의 thread가 이 thread 그룹을 변경할 수 없는 경우SecurityException
,
checkAccess()
public final void setMaxPriority(int pri)
우선, 이 thread 그룹의 checkAccess
메소드가 인수없이 불려 갑니다. 이 결과, 시큐리티 예외가 throw 되는 일이 있습니다.
pri
인수의 값이 Thread.MIN_PRIORITY
보다 작은지,Thread.MAX_PRIORITY
보다 큰 경우, 그룹의 최고 우선 순위는 변경되지 않습니다.
그 이외의 경우, 이 ThreadGroup 객체의 우선 순위는, 지정된 pri
및 이 thread 그룹의 부모에게 허가되는 최고 우선 순위보다 낮게 설정됩니다 (이 thread 그룹이, 부모를 가지지 않는 시스템 thread 그룹의 경우, 그 최고 우선 순위는 pri
인 만큼 설정된다). 그 후, 이 thread 그룹에 속하는 thread 그룹 마다, 이 메소드가 pri
를 인수로서 재귀적으로 불려 갑니다.
pri
- thread 그룹의 새로운 우선 순위
SecurityException
- 현재의 thread가 이 thread 그룹을 변경할 수 없는 경우getMaxPriority()
,
SecurityException
,
checkAccess()
public final boolean parentOf(ThreadGroup g)
g
- thread 그룹
true
, 그렇지 않은 경우는 false
public final void checkAccess()
시큐리티 매니저가 존재하는 경우, 이 그룹이 그 인수로서 지정되어 그 checkAccess
메소드가 불려 갑니다. 그 결과,SecurityException
가 throw 되는 일이 있습니다.
SecurityException
- 현재의 thread가 이 thread 그룹에의 액세스가 용서되지 않은 경우SecurityManager.checkAccess(java.lang.ThreadGroup)
public int activeCount()
결과는 본질적으로 부정확한 성질을 가지기 (위해)때문에, 이 메소드는 정보 목적인 만큼 사용하는 것을 추천합니다.
public int enumerate(Thread [] list)
우선, 이 thread 그룹의 checkAccess
메소드가 인수없이 불려 갑니다. 이 결과, 시큐리티 예외가 throw 되는 일이 있습니다.
어플리케이션에서는, 배열이 어느 정도의 크기가 될까에 임해서 대략의 수를 취득하는 경우 activeCount
메소드를 사용하는 경우가 있습니다. 다만, 배열이 너무 작아 모든 thread를 보관 유지할 수 없는 경우, 여분의 thread는 통지없이 무시됩니다. 이 thread 그룹과 그 소그룹에 있는 모든 액티브 thread를 취득하는 것이 중요한 경우, 호출측은 반환된 정수치가 엄밀하게 list 의 길이 미만인 것을 확인할 필요가 있습니다.
이 메소드의 본질적인 경합 조건이기 때문에, 이 메소드는 정보 목적인 만큼 사용하는 것을 추천합니다.
list
- thread의 리스트의 포함처인 배열
SecurityException
- 현재의 thread에, 이 thread 그룹을 열거하기 위한 액세스권이 없는 경우activeCount()
,
checkAccess()
public int enumerate(Thread [] list, boolean recurse)
recurse
플래그가 true
인 경우, 이 thread의 소그룹내의 각 액티브 thread에의 참조도 포함됩니다. 배열이 너무 작아 모든 thread를 보관 유지할 수 없는 경우, 여분의 thread는 통지없이 무시됩니다.
우선, 이 thread 그룹의 checkAccess
메소드가 인수없이 불려 갑니다. 이 결과, 시큐리티 예외가 throw 되는 일이 있습니다.
어플리케이션에서는, 배열이 어느 정도의 크기가 될까에 임해서 대략의 수를 취득하는 경우 activeCount
메소드를 사용하는 경우가 있습니다. 다만, 배열이 너무 작아 모든 thread를 보관 유지할 수 없는 경우, 여분의 thread는 통지없이 무시됩니다. 이 thread 그룹에 있는 모든 액티브 thread를 취득하는 것이 중요한 경우, 호출측은 반환된 정수치가 엄밀하게 list 의 길이 미만인 것을 확인할 필요가 있습니다.
이 메소드의 본질적인 경합 조건이기 때문에, 이 메소드는 정보 목적인 만큼 사용하는 것을 추천합니다.
list
- thread의 리스트의 포함처인 배열recurse
- 이 thread 그룹의 소그룹인 thread 그룹내의 thread도 포함할지 어떨지를 나타내는 플래그
SecurityException
- 현재의 thread에, 이 thread 그룹을 열거하기 위한 액세스권이 없는 경우activeCount()
,
checkAccess()
public int activeGroupCount()
결과는 본질적으로 부정확한 성질을 가지기 (위해)때문에, 이 메소드는 정보 목적인 만큼 사용하는 것을 추천합니다.
public int enumerate(ThreadGroup [] list)
우선, 이 thread 그룹의 checkAccess
메소드가 인수없이 불려 갑니다. 이 결과, 시큐리티 예외가 throw 되는 일이 있습니다.
어플리케이션에서는, 배열이 어느 정도의 크기가 될까에 임해서 대략의 수를 취득하는 경우 activeGroupCount
메소드를 사용하는 경우가 있습니다. 다만, 배열이 너무 작아 모든 thread 그룹을 보관 유지할 수 없는 경우, 여분의 thread는 통지없이 무시됩니다. 이 thread 그룹에 있는 모든 액티브 소그룹을 취득하는 것이 중요한 경우, 호출측은 반환된 정수치가 엄밀하게 list 의 길이 미만인 것을 확인할 필요가 있습니다.
이 메소드의 본질적인 경합 조건이기 때문에, 이 메소드는 정보 목적인 만큼 사용하는 것을 추천합니다.
list
- thread 그룹의 리스트의 포함처의 배열
SecurityException
- 현재의 thread에, 이 thread 그룹을 열거하기 위한 액세스권이 없는 경우activeGroupCount()
,
checkAccess()
public int enumerate(ThreadGroup [] list, boolean recurse)
true
인 경우, 소그룹등의 모든 액티브 소그룹에의 참조도 포함됩니다.
우선, 이 thread 그룹의 checkAccess
메소드가 인수없이 불려 갑니다. 이 결과, 시큐리티 예외가 throw 되는 일이 있습니다.
어플리케이션에서는, 배열이 어느 정도의 크기가 될까에 임해서 대략의 수를 취득하는 경우 activeGroupCount
메소드를 사용하는 경우가 있습니다. 다만, 배열이 너무 작아 모든 thread 그룹을 보관 유지할 수 없는 경우, 여분의 thread는 통지없이 무시됩니다. 이 thread 그룹에 있는 모든 액티브 소그룹을 취득하는 것이 중요한 경우, 호출측은 반환된 정수치가 엄밀하게 list 의 길이 미만인 것을 확인할 필요가 있습니다.
이 메소드의 본질적인 경합 조건이기 때문에, 이 메소드는 정보 목적인 만큼 사용하는 것을 추천합니다.
list
- thread의 리스트의 포함처인 배열recurse
- 포함되는 모든 thread 그룹을 재귀적으로 열거할지 어떨지를 나타내는 플래그
SecurityException
- 현재의 thread에, 이 thread 그룹을 열거하기 위한 액세스권이 없는 경우activeGroupCount()
,
checkAccess()
@Deprecated public final void stop()
Thread.stop()
를 참조해 주세요.
우선, 이 thread 그룹의 checkAccess
메소드가 인수없이 불려 갑니다. 이 결과, 시큐리티 예외가 throw 되는 일이 있습니다.
다음에 이 메소드는, 이 thread 그룹과 그 모든 소그룹내의 모든 thread에 대해 stop
메소드를 호출합니다.
SecurityException
- 현재의 thread가, 이 thread 그룹 또는 thread 그룹내의 thread에의 액세스가 허가되지 않는 경우SecurityException
,
Thread.stop()
,
checkAccess()
public final void interrupt()
우선, 이 thread 그룹의 checkAccess
메소드가 인수없이 불려 갑니다. 이 결과, 시큐리티 예외가 throw 되는 일이 있습니다.
다음에 이 메소드는, 이 thread 그룹과 그 모든 소그룹내의 모든 thread에 대해 interrupt
메소드를 호출합니다.
SecurityException
- 현재의 thread가, 이 thread 그룹 또는 thread 그룹내의 thread에의 액세스가 허가되지 않는 경우Thread.interrupt()
,
SecurityException
,
checkAccess()
@Deprecated public final void suspend()
Thread.suspend()
를 참조해 주세요.
우선, 이 thread 그룹의 checkAccess
메소드가 인수없이 불려 갑니다. 이 결과, 시큐리티 예외가 throw 되는 일이 있습니다.
다음에 이 메소드는, 이 thread 그룹과 그 모든 소그룹내의 모든 thread에 대해 suspend
메소드를 호출합니다.
SecurityException
- 현재의 thread가, 이 thread 그룹 또는 thread 그룹내의 thread에의 액세스가 허가되지 않는 경우Thread.suspend()
,
SecurityException
,
checkAccess()
@Deprecated public final void resume()
Thread.suspend()
를 참조해 주세요.
우선, 이 thread 그룹의 checkAccess
메소드가 인수없이 불려 갑니다. 이 결과, 시큐리티 예외가 throw 되는 일이 있습니다.
다음에 이 메소드는, 이 thread 그룹과 그 모든 소그룹내의 모든 thread에 대해 resume
메소드를 호출합니다.
SecurityException
- 현재의 thread가, 이 thread 그룹 또는 thread 그룹내의 thread에의 액세스가 허가되지 않는 경우SecurityException
,
Thread.resume()
,
checkAccess()
public final void destroy()
우선, 이 thread 그룹의 checkAccess
메소드가 인수없이 불려 갑니다. 이 결과, 시큐리티 예외가 throw 되는 일이 있습니다.
IllegalThreadStateException
- thread 그룹이 빈 상태(empty)이 아닌 경우, 또는 thread 그룹이 벌써 파기되고 있는 경우
SecurityException
- 현재의 thread가 이 thread 그룹을 변경할 수 없는 경우checkAccess()
public void list()
public void uncaughtException(Thread t, Throwable e)
Thread.UncaughtExceptionHandler
이 갖춰져 있지 않을 때에, Java 가상 머신에 의해 불려 갑니다.
ThreadGroup
의 uncaughtException
메소드는 이하를 실행합니다.
uncaughtException
메소드는 같은 2 개의 인수가 지정되어 불려 갑니다.
uncaughtException
메소드가 불려 간다
Throwable
인수가 ThreadDeath
의 인스턴스일지 어떨지를 판정한다. 이 인스턴스인 경우는, 특별한 (일)것은 실행되지 않는다. 이 인스턴스가 아닌 경우,Throwable
의 printStackTrace
메소드를 사용해, thread의 getName
메소드로부터 반환되는 thread명을 포함한 메세지와 스택 백 트레이스가표준 에러 스트림에 출력된다
어플리케이션은,ThreadGroup
의 서브 클래스에서 이 메소드를 오버라이드(override) 해, 캐치되어 있지 않은 예외를 다른 방법으로 처리할 수가 있습니다.
Thread.UncaughtExceptionHandler
내의 uncaughtException
t
- 종료하려고 하고 있는 threade
- 캐치되어 있지 않은 예외@Deprecated public boolean allowThreadSuspension(boolean b)
suspend()
에 의존합니다.
또, 이 호출의 동작은 지정되지 않습니다.
b
- 중단을 가능 또는 불가로 하는 boolean
public String toString()
Object
내의 toString
|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.