깨끗한 코드를 작성하기 위한 열세번째 기록 동시성이 필요한 이유 동시성은 결합을 없애는 전략입니다. 즉, 무엇과 언제를 분리하는 전략입니다. 무엇과 언제를 분리하면 애플리케이션 구조와 효율이 극적으로 나아집니다. 예시1) 서블릿 모델을 살펴보면 웹 혹은 EJB 컨테이너라는 우산 아래서 돌아가는데 컨테이너 들은 동시성을 부분적으로 관리합니다. 웹 요청이 들어올 때 마다 웹 서버는 비동기식으로 서블릿을 실행합니다. 그래서 서블릿 프로그래머는 들어오는 모든 웹 요청을 관리하지 않습니다. 예시2) 매일 수많은 웹 사이트에서 정보를 가져와 요약하는 정보 수집기를 봤을 때 단일 스레드 프로그램이라면, 수집하는데 많은 시간이 소요될 것입니다. 단일 스레드 수집기는 웹 소켓에서 입출력을 기다리는 시간이 아주 많기 때문..