All books

Professional

Apps About Coach Log in Start reading

Quantitative Finance · Glossary

What is Atomic operation?

Definition 11.1 Low-Latency Software · Chapter 11 — Lock-Free Programming

An atomic operation on a memory location is indivisible with respect to other threads: no thread observes it half done. C++ provides std::atomic<T> and Rust AtomicU64 and its siblings, with loads, stores, exchanges, fetch-and-add and compare-and-swap; on x86 each maps to one instruction for sizes up to eight bytes.

Read in context →