Comment by ViewTrick1002
5 days ago
A well formed Go program would have the same logical race conditions to manage as well.
The Arc is only needed when you truly need to mutably share data.
Rust like Go has the full suite of different channels and what other patterns to share data.
Small correction: The Arc is for sharing across threads, the Mutex is for mutation. But you are generally correct that they can be used independently.
Of course. But if you’re using a channel then it hides the inner constructs.
Comparing writing a web service in Go and rust you would likely also utilize Tokio which has a wide variety of well designed sync primitives.
https://docs.rs/tokio/latest/tokio/sync/index.html