Atomic Operation

Atomic Operation

An atomic operation is a program that runs independently of any other processes. (R1)

They are used in many modern operating systems (at the kernel level) and in parallel processing systems. An operation acting on shared memory is also atomic if it completes in a single step relative to other threads.

Example: C++ atomic types include values that guarantee “not to cause data races and can be used to synchronize memory accesses among different threads” (R2) In Bitcoin it is used in Refactoring to fix races in AppInitMain and others with lock and atomic bools, wallets CWallet::FundTransaction, etc. (R3)

Reference:
(R1) https://www.techopedia.com/definition/3466/atomic-operation
(R2) http://www.cplusplus.com/reference/atomic/
(R3) https://bitcoincore.org/en/releases/0.16.0/

« Back to Glossary Index