Atomics are datatypes and operations which group reading and writing in such a way, that thread-safety is ensured. Thus, reading and writing happens in one operations and due to atomics, no other thread can read the in-between state.
in Go, atomics are available via sync/atomic, in Rust via std::sync::atomic