Java

[Java] thread

skydev 2020. 12. 8. 17:44

스레드 상태값

1. new
2. runnable
3. blocked
4. waiting, timed_waiting
5. terminated

스레드 메소드
suspend     resume  deprecated됨, 필요하면 직접구현

sleep       interrupt(중단, ex: 잠자고 있는것을 중단) 

join(다른 스레드 기다리기)        yield(다른 스레드에게 양보, 별로 효과 없음) 
I/O block   time-out

static메소드 sleep, yield 스레드 자기 자신에게만 호출가능

동기화 효율을 높이기 위해서(synchronized 메소드에서만 사용) ex: 테이블(공동 객체, 동기화 필요), 요리사, 손님 관계
wait        notify notifyAll (대상을 구분할수 없음, 개선책이 아래 lock&condition)

 

lock    condition

 

 

 

출처: [자바의 정석]