러스트 언어 입문 시리즈 - 8편: 동시성(Concurrency)과 병렬성(Parallelism)을 안전하게 다루기
이전 글에서는 러스트의 에러 처리 철학, Result와 Option, panic! 매크로를 통해 예외 없이 명시적으로 에러를 처리하는 방식을 살펴보았습니다. 이제는 러스트가 무엇보다 강력하게 내세우는 장점 중 하나인 동시성(Concurrency)과 병렬성(Parallelism) 지원에 대해 알아보겠습니다. C++도 C++11 이후 std::thread, std::mutex, std::atomic 등을 통해 멀티스레딩을 지원하지만, 여전히 개발자가 락(Lock) 관리나 데이터 경쟁(Race Condition), 댕글링 포인터 문제에 신경 써야 합니다. 반면 러스트는 언어 차원에서 안전성 보장을 강화하여, 고성능 병렬 코드를 작성하면서도 메모리 안전성과 데이터 경쟁 방지를 지원합니다.기본 스레드 사용하기러스..