들어가며
Rust가 내세우는 가장 큰 약속 중 하나는 바로 **두려움 없는 동시성(Fearless Concurrency)**입니다. 이는 안전하고 효율적인 동시성 프로그램을 훨씬 더 쉽게 작성할 수 있게 해준다는 의미죠. 지금까지 우리는 주로 단일 스레드 환경에서만 작업해 왔는데요. 이제 그 경계를 넘어설 시간입니다!
이 챕터에서는 우리가 만든 티켓 저장소를 다중 스레드 환경에서 동작하도록 개선해 볼 것입니다. 그 과정에서 다음과 같은 Rust의 핵심 동시성 기능들을 깊이 있게 다루게 됩니다:
std::thread모듈을 활용한 스레드(Threads) 생성과 관리- **채널(Channels)**을 이용한 안전한 메시지 전달 방식
Arc,Mutex,RwLock을 활용한 상태 공유와 동기화- Rust의 동시성 보장을 뒷받침하는 핵심 트레이트인
Send와Sync
또한, 다중 스레드 시스템을 설계할 때 자주 쓰이는 다양한 패턴과 각 방식의 장단점에 대해서도 함께 살펴볼 예정입니다. 준비되셨나요? 시작해 봅시다!
Exercise
The exercise for this section is located in 07_threads/00_intro