In Rust
struct Counter { value: AtomicU64 }
impl Counter {
fn new() -> Counter { Counter { value: AtomicU64::new(0) } }
fn increment(&self) {
self.value.fetch_add(1, Ordering::Relaxed);
}
fn get(&self) -> usize { self.value.load(Ordering::Relaxed) }
}
If you are really intrigued about the Ordering
parameter, you can check: The rust nomicon