오늘 배운 것멀티스레드 환경에서 가장 자주 등장하는 패턴인 생산자-소비자 문제와, 이를 해결하기 위한 Object.wait() / notify() 메커니즘을 학습했다.생산자-소비자 문제란?생산자(Producer)는 데이터를 만들어 버퍼에 넣고, 소비자(Consumer)는 버퍼에서 데이터를 꺼내 처리한다. 버퍼는 한정된 공간이기 때문에 두 가지 상황이 문제가 된다.버퍼가 가득 찼을 때 생산자가 계속 넣으려 하면 데이터 유실버퍼가 비었을 때 소비자가 계속 꺼내려 하면 null 처리 또는 무한 루프단순히 synchronized만 붙인다고 해결되는 문제가 아니다. 스레드 간 협력(cooperation)이 필요하다.V1 - 단순 구현 (데이터 유실 발생)가장 먼저 시도할 수 있는 방법은 synchronized로 ..