3

If an operation X is atomic, that means that anyone observing the operation will see it either as not yet started, or as completed, and not in any state that is partially completed. That's it. Obviously if you write code to perform an operation X, and other code can see it half performed, or interfere with it, then your implementation of the operation X is ...


2

I'm not sure I know of a simple, formal, abstract definition of "atomic" for a programming language. I know of many different ones at various levels of abstraction and with regards to various topics. I also know some that seem fairly abstract but have fairly sophisticated prerequisites (e.g. presheaf models of concurrency). Part of the problem is that there ...


Only top voted, non community-wiki answers of a minimum length are eligible