JAVA/Docs
ⓒ java.lang Thread
데브사냥
2015. 2. 25. 23:49
java.lang
클래스 Thread
생성자 의 개요 | |
---|---|
Thread () 새로운 Thread 객체를 할당합니다. | |
Thread (Runnable target) 새로운 Thread 객체를 할당합니다. | |
Thread (Runnable target, String name) 새로운 Thread 객체를 할당합니다. | |
Thread (String name) 새로운 Thread 객체를 할당합니다. | |
Thread (ThreadGroup group, Runnable target) 새로운 Thread 객체를 할당합니다. | |
Thread (ThreadGroup group, Runnable target, String name) 그 실행 객체로서 target , 이름으로서 지정된 name 를 가지는,group 에 의해 참조되는 thread 그룹에 속하는 것 같은, 새로운 Thread 객체를 할당합니다. | |
Thread (ThreadGroup group, Runnable target, String name, long stackSize) 새로운 Thread 객체를 할당해 실행 객체로서 target 를 보관 유지해, 지정된 name 를 이름으로서 보관 유지하도록(듯이) 합니다. | |
Thread (ThreadGroup group, String name) 새로운 Thread 객체를 할당합니다. |
메소드의 개요 | |
---|---|
static int | activeCount () 현행 thread의 thread 그룹내의 액티브한 thread수를 돌려줍니다. |
void | checkAccess () 현재 실행중의 thread가, 이 thread를 변경하기 위한 액세스권을 가지고 있을지 어떨지를 판정합니다. |
int | countStackFrames () 추천 되고 있지 않습니다. 이 호출의 정의는, 추천되어 있지 않은 suspend() 에 의존합니다. 또, 이 호출의 결과는 보증되지 않습니다. |
static Thread | currentThread () 현재 실행중의 thread 객체의 참조를 돌려줍니다. |
void | destroy () 추천 되고 있지 않습니다. 이 메소드는 원래 클린 업없이 파기되도록(듯이) 설계되고 있었습니다. 보관 유지되는 모니터는 락 된 상태를 유지합니다. 다만, 이 메소드는 구현되지 않았습니다. 구현되고 있으면(자), suspend() 와 거의 똑같이 데드락이 발생합니다. 타겟 thread가 중요한 system resource를 보호하는 락을 보관 유지한 상태로 파기되었을 경우, 어느 thread도 다시 이 자원에 액세스 할 수 없습니다. 다른 thread가 이 자원을 잠그려고 하면(자), 데드락이 발생합니다. 일반적으로, 이러한 데드락은, 프로세스의 「동결」에 의해 밝혀집니다. 자세한 것은, 이하를 참조해 주세요. Thread.stop, Thread.suspend, Thread.resume, 및 Runtime.runFinalizersOnExit 가 추천 되지 않는 이유 |
static void | dumpStack () 현재의 thread의 스택 트레이스를 표준 에러 스트림에 출력합니다. |
static int | enumerate (Thread [] tarray) 현행 thread의 thread 그룹 및 그 하위 그룹내의 모든 액티브한 thread를, 지정된 배열에 카피합니다. |
static Map <Thread , | getAllStackTraces () 모든 라이브 thread의 스택 트레이스 맵을 돌려줍니다. |
ClassLoader | getContextClassLoader () 이 Thread 의 문맥 ClassLoader 를 돌려줍니다. |
static Thread. | getDefaultUncaughtExceptionHandler () 캐치 되지 않는 예외에 의해 thread가 돌연 종료했을 때에 불려 가는 디폴트의 핸들러를 돌려줍니다. |
long | getId () 이 thread의 식별자를 돌려줍니다. |
String | getName () 이 thread의 이름을 돌려줍니다. |
int | getPriority () 이 thread의 우선 순위를 돌려줍니다. |
StackTraceElement [] | getStackTrace () 이 thread의 스택 덤프를 나타내는 스택 트레이스 요소의 배열을 돌려줍니다. |
Thread.State | getState () 이 thread 상태를 돌려줍니다. |
ThreadGroup | getThreadGroup () 이 thread가 소속하는 thread 그룹을 돌려줍니다. |
Thread. | getUncaughtExceptionHandler () 캐치 되지 않는 예외에 의해 thread가 돌연 종료했을 때에 불려 가는 핸들러를 돌려줍니다. |
static boolean | holdsLock (Object obj) 현행 thread가 지정된 객체에 대한 모니터 락을 보관 유지하는 경우에게만,true 를 돌려줍니다. |
void | interrupt () 이 thread에 끼어듭니다. |
static boolean | interrupted () 현재의 thread가 끼어들어지고 있는지 어떤지를 조사합니다. |
boolean | isAlive () 이 thread가 생존하고 있을지 어떨지를 판정합니다. |
boolean | isDaemon () 이 thread가 demon thread일지 어떨지를 판정합니다. |
boolean | isInterrupted () 이 thread가 끼어들어지고 있는 제발을 조사합니다. |
void | join () 이 thread가 종료하는 것을 대기합니다. |
void | join (long millis) 이 thread가 종료하는 것을, 최고로 millis 밀리 세컨드 대기합니다. |
void | join (long millis, int nanos) 최고로 millis 밀리 세컨드에 nanos 나노초를 가산한 사이, 이 thread가 종료하는 것을 대기합니다. |
void | resume () 추천 되고 있지 않습니다. 이 메소드는 데드락을 발생하기 쉽기 때문에 추천 되지 않습니다. suspend() 와 함께 사용하기 위해(때문에)인 만큼 제공되고 있습니다. 자세한 것은, 이하를 참조해 주세요. Thread.stop, Thread.suspend, Thread.resume, 및 Runtime.runFinalizersOnExit 가 추천 되지 않는 이유 |
void | run () 이 thread가 별개의 Runnable 실행 객체를 사용해 작성되었을 경우, 그 Runnable 객체의 run 메소드가 불려 갑니다. |
void | setContextClassLoader (ClassLoader cl) 이 Thread 의 문맥 ClassLoader 를 설정합니다. |
void | setDaemon (boolean on) 이 thread를, demon thread 또는 사용자 thread로서 마크 합니다. |
static void | setDefaultUncaughtExceptionHandler (Thread.UncaughtExceptionHandler eh) 캐치 되지 않는 예외에 의해, thread가 돌연 종료했을 때나, 이 thread에 대해서 그 밖에 핸들러가 정의되어 있지 않을 때에 불려 가는 디폴트의 핸들러를 설정합니다. |
void | setName (String name) 이 thread의 이름을 인수 name 에 동일해지도록(듯이) 변경합니다. |
void | setPriority (int newPriority) 이 thread의 우선 순위를 변경합니다. |
void | setUncaughtExceptionHandler (Thread.UncaughtExceptionHandler eh) 캐치 되지 않는 예외에 의해, 돌연 thread가 종료했을 때에 사용되는 핸들러를 설정합니다. |
static void | sleep (long millis) 시스템 타이머-와 스케쥴러가 정확한 것을 전제로서 현재 실행중의 thread를, 지정된 밀리 세컨드수의 사이, sleeve (일시적으로 실행을 정지) 시킵니다. |
static void | sleep (long millis, int nanos) 시스템 타이머-와 스케쥴러가 정확한 것을 전제로서 현재 실행중의 thread를, 지정된 밀리 세컨드수로 지정된 나노초수를 가산한 사이, sleeve (실행을 정지) 시킵니다. |
void | start () 이 thread의 실행을 개시합니다. |
void | stop () 추천 되고 있지 않습니다. 이 메소드는 본질적으로 안전하지는 않습니다. Thread.stop 를 사용해 thread를 정지하면(자), 체크되어 있지 않은 ThreadDeath 예외가 스택아래에서 위에게 전할 수 있었던 결과, 그 thread에 의해 락 되고 있던 모니터의 락이 모두 해제됩니다. 이러한 모니터에 의해 직전까지 보호되고 있던 객체가 무결성의 없는 상태에 있었을 경우, 망가진 객체는 다른 thread에 대해서 가시가 되어, 동작이 보증되지 않는 것이 있습니다. 많은 경우, 타겟 thread의 실행 정지를 지시하려면 ,stop 는 아니고, 단지 일부의 변수를 변경하는 코드를 사용할 필요가 있습니다. 타겟 thread는, 이 변수를 정기적으로 검사해, 실행을 정지해야 할 일을 변수가 가리키고 있는 경우에는, thread의 run 메소드로부터 일반적으로의 방법으로 복귀할 필요가 있습니다. 조건 변수등으로 타겟 thread가 오랫동안 대기하고 있는 경우, 대기를 중단시키려면 ,interrupt 메소드를 사용합니다. 자세한 것은, 이하를 참조해 주세요. Thread.stop, Thread.suspend, Thread.resume, 및 Runtime.runFinalizersOnExit 가 추천 되지 않는 이유 |
void | stop (Throwable obj) 추천 되고 있지 않습니다. 이 메소드는 본질적으로 안전하지는 않습니다. stop() 를 참조해 주세요. 게다가 이 메소드는, 타겟 thread로 처리의 준비가 되어 있지 않은 예외의 생성에 사용되는 일이 있는 점에서도 위험합니다 (이 메소드가 없으면 thread에 의해 throw 될리가 없는, 체크된 예외 등). 자세한 것은, 이하를 참조해 주세요. Thread.stop, Thread.suspend, Thread.resume, 및 Runtime.runFinalizersOnExit 가 추천 되지 않는 이유 |
void | suspend () 추천 되고 있지 않습니다. 이 메소드는 데드락을 발생하기 쉽기 때문에 추천 되지 않습니다. 타겟 thread가, 중단되는 시점에서, 중요한 system resource를 보호하는 모니터를 잠그고 있는 경우, 타겟 thread가 재개될 때까지 어느 thread도 그 자원에 액세스 할 수 없습니다. 이 때, 타겟 thread를 재개하는 thread가, resume 를 호출하기 전에 이 모니터를 잠그려고 하면(자), 데드락이 발생합니다. 일반적으로, 이러한 데드락은, 프로세스의 「동결」에 의해 밝혀집니다. 자세한 것은, 이하를 참조해 주세요. Thread.stop, Thread.suspend, Thread.resume, 및 Runtime.runFinalizersOnExit 가 추천 되지 않는 이유 |
String | toString () thread의 이름, 우선 순위, thread 그룹을 포함한 이 thread의 캐릭터 라인 표현을 돌려줍니다. |
static void | yield () 현재 실행중의 thread 객체를 일시적으로 휴지시켜, 다른 thread를 실행할 수 있도록(듯이) 합니다. |
반응형