Concurrency
Different computational processes can be executed in parallel, potentially providing gains in efficiency. However, when combined with statefulness, concurrency can lead to indeterminacy of results if multiple processes access the same stateful objects. This requires strategies to at least restrict the set of possible results to something reasonable (still not perfect solutions):
- One such strategy is serialization, i.e, specifying a list of procedures that may not run at the same time (mutex or mutual exclusion).
- Another strategy is barrier synchronization, i.e, specifying synchronization barriers (barriers) through which none of the processes in a specified list can pass until all the processes in the list have finished executing.
Links