Ownership Across Threads
Explain when to use Arc, Mutex, and message passing to share data safely across threads. Discuss deadlock and lock scope.
Examples
Compare approaches
Baseline approach
Begin by explaining the core mechanism, stating assumptions, and walking through one concrete example.
Time: Depends on design · Space: Depends on design
// Compare Arc<Mutex<T>> with channels for a shared counter.
Strong answer
Arc shares ownership but does not make arbitrary mutation safe. Mutex serializes access. Channels can transfer ownership and reduce shared mutable state.
Time: Discuss operation costs · Space: Discuss retained state
// Compare Arc<Mutex<T>> with channels for a shared counter.
Common traps
- Memory safety does not guarantee freedom from deadlocks.
- State assumptions and justify trade-offs rather than memorizing a single answer.