본문 바로가기

아는 만큼 보인다/Concurrency

Synchronizers (동기화 클래스들)


Synchronizers : 스레드들을 기다리게 하는 것들 (스레드들을 제어)

 클래스

  특징

  대표적 사용 예

 LinkedBlockingQueue

 put, take시 대기 가능

 Producers - Consumers
 여러 스레드가 하나의 큐 사용

 LinkedBlockingDeque

 put, take시 대기 가능

 Crawler 스레드들을 이용한 파일 검색,
 여러 스레드가 각자 큐 사용, 
 Job stealing

 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