개요이 장에서는 여러 스레드를 동시에 돌리는 이유를 논한다.여러 스레드를 동시에 돌리는 어려움도 논한다.이런 어려움에 대처하고 깨끗한 코드를 작성하는 방법도 몇 가지 제안한다.마지막으로, 동시성을 테스트하는 방법과 문제점을 논한다.동시성이 필요한 이유?동시성은 결합을 없애는 전략이다. 즉, 무엇과 언제를 분리하는 전략이다. 스레드가 하나인 프로그램은 무엇과 언제가 서로 밀접하다.그래서 호출 스택을 살펴보면 프로그램 상태가 곧바로 드러난다.흔히 단일 스레드 프로그램은 정지점(breakpoint)을 정한 후 어느 정지점인지 살펴보면서 시스템 상태를 파악한다.무엇과 언제를 분리하면 애플리케이션 구조와 효율이 극적으로 나아진다.구조적인 관점에서 프로그램은 거대한 루프 하나가 아니라 작은 협력 프로그램 여럿으로 ..