Java Concurrency
-
병행성(Concurrency)을 위한 CountDownLatch자바(Java) 강의 2019. 8. 22. 13:39
CountDownLatch우리가 사용하는 고급 언어는 대부분 Concurrency(병행성)에 관련된 API를 제공한다. 자바도 마찬가지로 atomic, volitile, semaphore등 기본적인 병행성 관련 메커니즘에서 CyclicBarrier, CountDownLatch등의 고급기능까지 제공한다. 그 중 이 포스트에서는 CountDownLatch에 대해 알아보도록 한다. CountDownLatch는 언제 쓸까? 쓰레드를 N개 실행했을 때, 일정 개수의 쓰레드가 모두 끝날 때 까지 기다려야지만 다음으로 진행할 수 있거나 다른 쓰레드를 실행시킬 수 있는 경우 사용한다. 예를들어서 리스트에 어떤 자료구조가 있고, 각 자료구조를 병렬로 처리한 후 배치(batch)로 데이터베이스를 업데이트 한다거나 다른 시..