Lock1 [인프런] 김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성 / 8. 생산자 소비자 문제 2 Lock Condition생산자용, 소비자용 대기 집합을 서로 나누어 분리한다면 비효율 문제를 해결할 수 있다. BoundedQueueV4.java우선 대기 집합 분리 전, synchronized 대신 Lock 인터페이스와 ReentrantLock 구현체를 사용하도록 코드 수정private final Lock lock = new ReentrantLock();private final Condition condition = lock.newCondition(); // 대기 집합 Condition1. ReentrantLock을 사용하는 스레드가 대기하는 스레드 대기 공간2. lock.condition()으로 스레드 대기 공간이 만들어짐3. Object.wait()의 스레드 대기 공간은 모든 객체 인스턴스가 .. 2025. 3. 27. 이전 1 다음