rust-ownership C Single thread Multithreading with race condition Multithreading with naive mutex Multithreading with better mutex Rust Single thread Race Move closure Shared state (mutex) naive Shared state (mutex) better Message passing Traits