[ 자바 문법 종합반 5주차 ]
Thread
: 프로세스 내에서 일하는 일꾼
- 실행요청이 들어오면 쓰레드 생성
- 프로세스 내 주소공간이나 메모리공간을 공유받음
Multi Thread
: 여러개의 쓰레드가 실행되는 것
- 장점
- 성능이 좋아짐
- 지원을 효율적으로 사용 - 단점
- 동기화 문제 발생 가능성
- 데드락 발생 가능성
Daemon Thread
: 낮은 우선순위를 가진 쓰레드
쓰레드 제어
- sleep( ) : 지정된 시간동안 일시정지
- interrupt( ) : 일시정지 상태인 쓰레드를 실행 대기 상태로
- join( ) : 정해진 시간동안 지정한 쓰레드가 작업하는 것을 기다림 ⇒ 쓰레드의 실행을 보장받을 수 있음
- yield( ) : 남은 시간을 다음 쓰레드에게 양보하고, 자신은 실행대기 상태가 됨
- synchronized : 한 쓰레드가 진행중인 작업을 다른 쓰레드가 침범하지 못하도록 막는 것
- wait( ) : 실행중이던 쓰레드는 대기실에서 통지를 기다림
- notify( ) : 대기실에 있는 쓰레드에게 통지 → 쓰레드가 다시 진행될 수 있게 함
- lock
- ReentrantLock : 가장 일반적
- ReentrantReadWriteLock : 읽기를 위한 lock, 쓰기를 위한 lock
- StampedLock : 낙관적인 lock 기능 추가
- condition : await( ), signal( )
'스파르타 내배캠' 카테고리의 다른 글
[TIL] #9. do-while, constructor, abstract (0) | 2024.05.01 |
---|---|
[TIL] #8. SRP, OCP, (Git)PR (0) | 2024.04.30 |
[TIL] #6. fianl, static (1) | 2024.04.27 |
[TIL] #5. Abstract, Interface, Exception (0) | 2024.04.25 |
[TIL] #4. 객체지향 프로그래밍 (0) | 2024.04.24 |