Giao diện
⚡ Concurrency & Async
"Fearless Concurrency" - Rust cho phép bạn viết concurrent code mà không sợ data races.
Tổng quan Module
📚 Nội dung Module
1. Fearless Concurrency
- OS Threads vs Green Threads
- Message Passing: Cơ chế hoạt động của MPSC Channel
- Shared State:
Arc<Mutex<T>>vàRwLock - Memory Ordering và Atomics
2. Async Runtimes
FutureTrait: Cơ chế Polling- Kiến trúc Tokio Runtime
- Pinning (
Pin<T>): Tại sao futures không được di chuyển
💡 Tại sao Rust là Fearless?
| Vấn đề | C/C++ | Java/Go | Rust |
|---|---|---|---|
| Data Race | Lỗi runtime | Phát hiện runtime | Ngăn chặn compile-time |
| Deadlock | Có thể xảy ra | Có thể xảy ra | Có thể (nhưng API an toàn hơn) |
| Memory corruption | Phổ biến | Hiếm (GC) | Không thể xảy ra |
| Thread safety | Thủ công | Kiểm tra runtime | Type system kiểm soát |
Rust sử dụng Ownership System để đảm bảo:
- Không bao giờ có data race (compile-time)
SendvàSynctraits kiểm soát thread safety- Borrow checker hoạt động xuyên suốt thread boundaries