sleep()
: 현재 쓰레드를 지정된 시간동안 멈추게 한다.
- sleep, yield는 static 메서드이고 자기자신에만 해당된다.(내가 나를 자게할 순 있지만, 남을 재울순 없음)
static void sleep(long milis) // 천분의 1초 단위 static void sleep(long milis, int nanos) // 천분의 1초 + 나노초
- 예외처리를 해야한다. (InturruptedException이 발생하면 깨어남)
try { Thread.sleep(1, 500000); // 쓰레드를 0.0015초 동안 멈추게 한다. } catch(InterruptedException e) {}
- 특정 쓰레드를 지정해서 멈추게 하는 것은 불가능하다.
.sleep
앞에는 Thread로 써주기!
interrupt()
- 대기상태(waiting)인 쓰레드를 실행대기 상태 (runnable)로 만든다.
void interrupt() // 쓰레드의 interrupted상태를 false -> true로 변경 boolean isInterrupted() // 쓰레드의 interrupted상태를 반환 static boolean interrupted() // 현재 쓰레드의 interrupted상태를 알려주고, false로 초기화