Java
- 프로세스와 쓰레드의 차이점
- Single Thread / Multi Thread(병렬식으로 수행)
- Thread 실행방법 (Thread, Runnable, 람다식)
- 데몬 Thread : 우선순위가 낮고, 보이지 않는곳에서 실행되는 쓰레드(ex. 가비지 컬렉터)
- 사용자 Thread : 우선순위가 높고, 보이는곳에서 실행되는 쓰레드(ex. 메인 쓰레드)
- Thread 우선순위 적용 : setPriority()
- Thread Group : 쓰레드를 묶어서 관리
- Thread 상태
상태 Enum(상수) 설명 객체생성 NEW 쓰레드 객체 생성, start() 메서드 호출 전의 상태 실행대기 RUNNABLE 실행 상태로 언제든지 갈 수 있는 상태 일시정지 WAITING 다른 쓰레드가 통지(notify) 할 때까지 기다리는 상태 일시정지 TIMED_WAITING 주어진 시간 동안 기다리는 상태 일시정지 BLOCKED 사용하고자 하는 객체의 Lock이 풀릴 때까지 기다리는 상태 종료 TERMINATED 쓰레드의 작업이 종료된 상태
- Thread 제어
sleep()
: 현재 쓰레드를 지정된 시간동안 멈춤,
interrupt()
: 일시정지 상태인 쓰레드를 실행대기 상태로 바꿈