Atomic means indivisible. The atomic theory originally was based on the idea that atoms were indivisible
units. The word comes up in several contexts in computing:
Some computer architectures simulate 64-bitlongs with two 32-bit chunks. To
load or save they must do it in two pieces. There is always the possibility one of the chunks could be modified
while the other was being loaded. With a modern architecture, longs are stored
atomically all 64 bits simultaneously, so there is no possibility of another
thread changing the value part way through the load or save.
Atomic FTP (File Transfer Protocol). This does not exist yet, but it should. When you upload a set of files, and replacing some and
deleting others, the clients of your website should not see the new files until they are all loaded. Otherwise
they will see an inconsistent set of files that may have links to files or anchors that no longer exist
Atomic version control. This does not exist in CVS (Concurrent Versions System), but does in Subversion and BitKeeper. In CVS, if you
commit changes, they are instantly visible to the public. If they download the changes, they will view an
incomplete, inconsistent set of changes, especially if you have a communication line failure during the commit.
With an atomic commit, no changes are visible to others until the complete set of changes are received.
Updates to SQL (Standard Query Language) databases are also atomic. When you make a series of updates, none of them take until the
last one has been made and you officially commit the group.