| 331 | | A process attempting to execute an atomic statement will wait until the atomic lock becomes free, i.e., no other process is inside an atomic statement. |
| 332 | | The process must also wait until the guard of the atomic statement holds; this means that the first sub-statement of the statement is enabled. |
| 333 | | Once the atomic lock is free and the guard holds, the atomic statement becomes enabled and the process may enter the atomic statement. |
| | 331 | The global atomic lock can be obtained by a process by entering an atomic statement. |
| | 332 | Whenever the lock is held by some process, all other processes must wait until the atomic lock becomes free to continue execution. |
| | 333 | The guard of an atomic statement is simply the guard of the first sub-statement of the atomic statement. |
| | 334 | So, a process may only enter an atomic statement if the lock is free (or if the process already owns the lock) and the guard holds. |