Synchronizers : 스레드들을 기다리게 하는 것들 (스레드들을 제어)
클래스 | 특징 | 대표적 사용 예 |
LinkedBlockingQueue |
put, take시 대기 가능 | Producers - Consumers |
LinkedBlockingDeque |
put, take시 대기 가능 | Crawler 스레드들을 이용한 파일 검색, |
FutureTask | Future.get() 하여 미리 시켜놓은 일이 종료될 때까지 대기 | |
CountDownLatch |
Count 0 일때 await() 중인 스레드들 모두 시작 | 서비스 구동시 의존 서비스들 먼저 구동시키기 |
CyclicBarrier |
모든 스레드가 await()할 때 대기 종료하여 스레드들의 작업 결과 취합 |
|
Semaphore |
permit를 acquire() 한 스레드만 시작 | Database Connection Pool |
Exchager |
threads can pair and swap elements within pairs | swap buffers between threads |
[영어사전]
- latch : 자물쇠
- barrier : 장벽
- semaphore : 수기 신호
'아는 만큼 보인다 > Concurrency' 카테고리의 다른 글
Thread 상태 (0) | 2014.11.19 |
---|---|
Thread-Safe 를 위한 Keywords (0) | 2014.11.19 |
Executors 팩토리 클래스 (0) | 2014.11.18 |
wait 메소드 사용시 지켜야 하는 것들 (0) | 2014.11.03 |
ConcurrentHashMap 특징 비교 (0) | 2014.08.22 |