Forum Archive

Atomic operations?

dgelessus

This is more of a general Python question, but maybe someone can help me - what exactly does it mean when an operation is "atomic"? Looking over various websites it appears to be assumed basic Python jargon, yet I can't find a definition anywhere. There is a definition of an "atom" in the Python Language Reference section 5.2, but that appears to refer to basic Python syntax elements rather than a type of operation.

ccc

Atomicity is a computing idea, not just Python... https://en.m.wikipedia.org/wiki/Atomicity_(disambiguation)#Computing

An atomic operation must either happen completely or not at all. If the operation involves multiple steps then there must be a rollback (undo) process that guarantees to leave the surrounding environment in EXACTLY the same condition that it was in before the operation began. Online financial transactions MUST be atomic to be trusted. Rollbacks can involve tricky edge conditions so it often takes a concentrated effort to build truly bulletproof atomic operations that are free of security loopholes. ACID database operations are worth looking at to understand the concept in practice.

dgelessus

So that's why I didn't find anything on Wikipedia... I searched for "atomic", which led to a disambig page that didn't have the "Atomicity (programming)" article linked. Thanks for pointing me in the right way.