[Rust] 併發程式設計全景指南
Rust 併發程式設計:模組化指南 一、 全景知識心智圖 Rust Concurrency (併發程式設計全景) ├── 1. 核心底層 (Foundations) │ ├── Trait 標記 : Send (所有權可跨執行緒轉移) / Sync (不可變參考可跨執行緒共享) │ └── 生命週期 : 'static (thread::spawn 要求完整所有權 move 或 static 變數) │ ├── 2. 模式 A:純訊息傳遞 (Channel / CSP) │ ├── 核心組件 : std::sync::mpsc (Multi-Producer, Single-Consumer) │ ├── 生產者 (tx) : tx.clone() 多端發送 | drop(tx) 顯式關閉管道 │ └── 消費者 (rx) : rx.recv() 三態機制 (Ok 運算 | 佇列空 0% CPU 休眠 | drop(tx) 退出) │ ├── 3. 模式 B:純共享記憶體 (Shared Memory / Mutex) │ ├── 核心組件 : Arc<Mutex<T>> (原子引用計數 + 互斥鎖) │ └── 黃金七特徵 : Arc → Mutex → Arc::clone → thread::spawn → move → lock().unwrap() → RAII Drop │ └── 4. 生態系高階替換 (Ecosystem vs C#) ├── Concurrent Collection : DashMap (分段鎖,對標 C# ConcurrentDictionary) ├── Parallel Computing : Rayon (.par_iter(),對標 C# PLINQ) └── High-Perf Cache : Moka (帶 TTL/LRU Cache,對標 C# MemoryCache) ...