RwLock — multiple readers OR one writer. Mutex — exclusive access.
RwLock:
Mutex:
1use std::sync::{RwLock, Mutex};23// RwLock4let lock = RwLock::new(vec![]);5let r1 = lock.read().unwrap();6let r2 = lock.read().unwrap(); // Multiple readers OK7drop(r1);8drop(r2);9let mut w = lock.write().unwrap();1011// Mutex12let lock = Mutex::new(vec![]);13let mut guard = lock.lock().unwrap();14guard.push(1);
Key: RwLock for reads, Mutex for writes.