Coarse-Grained Lock & Fine-Grained Lock
📘 Backend/Java2024. 3. 24. 00:56Coarse-Grained Lock & Fine-Grained Lock

Lock & Dead Lock 멀티스레딩 환경에서 Lock을 구현할 때 Fine-Grained Lock & Coarse-Grained Lock을 선택할 수 있습니다. 여러 스레드가 공유하는 Resource가 있을 때 모든 공유 리소스에 단일 Lock을 걸어 제한하거나, 각 리소스마다 개별적인 Lock을 걸어 제한할 수 있습니다. Coarse-Grained Lock Coarse-Grained Lock의 장점은 단일 Lock만 신경쓰면 되며, 공유 리소스에 액세스 할 떄 해당 Lock만 사용합니다. 아래 클래스에서 두 함수에 synchronized 키워드를 사용해 모든 객체에 단일 Lock을 생성 하도록 할 수 있습니다. 아래 두 함수에서 DB에서 Item을 가져오는 스레드와 그 작업을 Queue에 추가하려..

image