쓰레드의 실행제어 메서드
- 쓰레드의 실행을 제어할 수 있는 메서드가 제공된다.
- 메서드를 활용해서 보다 효율적인 프로그램을 작성할 수 있다.
메서드 | 설명 |
static void sleep(long millis) static void sleep(long millis, int nanos) |
지정된 시간(천분의 일초 단위)동안 쓰레드를 일시정지(잠든다)시킨다. 지정한 시간이 지나고 나면, 자동적으로 다시 실행대기상태가 된다. |
void join() void join(long millis) void join(long millis, int nanos) |
지정된 시간동안 쓰레드가 실행되도록 한다. 지정된 시간이 지나거나 작업이 종료하면 join()을 호출한 쓰레드로 다시 돌아와 실행을 계속한다. |
void interrupt() | sleep()이나 join()에 의해 일시정지상태인 쓰레드를 깨워서 실행대기상태로 만든다. 해당 쓰레드에서는 Interrupted Exception이 발생함으로써 일시정지 상태를 벗어나게 된다. |
void stop() | 쓰레드를 즉시 종료시킨다. |
void suspend() | 쓰레드를 일시정지시킨다. resume()을 호출하면 다시 실행대기상태가 된다. |
void resume() | suspend()에 의해 일시정지상태에 있는 쓰레드를 실행대기상태로 만든다. |
static void yield() | 실행 중에 자신에게 주어진 실행시간을 다른 쓰레드에게 양보(yield)하고 자신은 실행대기상태가 된다. |
- join : 다른 쓰레드 기다리기
- interrupt : 깨우는 것 (sleep or join 멈추는 것)
- suspend : 일시정지
- resume : 재개
- static void yield : 양보
- static이 붙은 method 두개(sleep, yield) : 쓰레드 자기 자신에게만 호출이 가능. 주체가 자기 자신이라는 뜻
- 남에게 "잠드세요, 양보하세요" -> 가능 X
'JAVA개념' 카테고리의 다른 글
프로그래밍의 3대 요소(변수, 자료형, 할당) (0) | 2022.01.27 |
---|---|
Java 구동 방식 (0) | 2022.01.26 |
데몬 쓰레드(daemon thread) (0) | 2021.12.06 |
싱글 쓰레드, 멀티 쓰레드 (0) | 2021.12.06 |
쓰레드(Thread) (0) | 2021.12.06 |