전 글에 이어서 작성하겠다.전 글을 요약하자면, 생산자와 소비자가 같은 대기공간에 들어가고 랜덤으로 깨어진다는 것이였다. ReentrantLock여기서 사용하는 것이 ReentrantLock 이다. 예시코드 public void awaitMethod() { lock.lock(); try { while (!ready) { // ready가 true가 될 때까지 대기 System.out.println(Thread.currentThread().getName() + " 대기 중..."); condition.await(); // 현재 스레드를 대기 상태로 만든다. } S..