[Java] 동시성 제어 2탄 - 세마포어(Semaphore)
·
Teck Stack/Java
개요[Java] 동시성 제어 1탄 - Lock [Java] 동시성 제어 1탄 - Lock개요멀티 스레딩 환경에서 발생할 수 있는 동시성 문제 상황을 살펴보고, Java에서 이를 어떻게 제어할 수 있는지 알아보고자 합니다. 동시성 제어에는 다양한 방법이 존재하지만, 이번 포스팅에taetae99.tistory.com 이전 게시글에 이어서, Java 환경에서 동시성을 제어하는 방법에 대해 작성하겠습니다. 이번 게시글에서는 세마포어를 활용한 동시성 제어를 다루고 있습니다. 세마포어란?세마포어는 동시에 실행할 수 있는 스레드 수를 제한하는 데 사용합니다. 즉, 자원에 대한 접근을 일정 수준으로 제한하고 싶을 때 사용할 수 있습니다. 세마포어의 동작은 다음과 같습니다.세마포어에서 퍼밋을 획득한다. ( permi..