1. 동시성 동시성은 한 번에 여러 가지 일을 한다는 의미입니다. 동시성은 병렬성과 구분해야 합니다. 《Rust 프로그래밍 언어(The Rust Programming Language)》에서는 동시성과 병렬성을 엄격하게 구분하지 않고 두리뭉실하게 받아들여 달라고 전제 한 뒤 설명을 이어 갑니다. 하지만 여기서는 우선 동시성과 병렬성을 개념적으로 구분 하고, 설명은 동시성을 스레드를 사용해 구현하는 것에만 초점을 맞추고자 합니다. 병렬성과 동시성을 구분하겠습니다. 일의 시작에서 끝까지의 타임라인이 있다고 가정 하겠습니다. 병렬 프로그래밍은 여러 가지의 일을 서로 간섭받지 않고 실제로 동시에 진행합니다. 하지만 동시성 프로그래밍은 여러 가지 일이 타임라인을 서로 나누어 사용합니다. 어떤 일을 찔끔하다가 멈추고..