Concurrent algorithm
Appearance

In computer science, a concurrent algorithm is one that can be executed concurrently. Most standard computer algorithms are sequential algorithms, and assume that the algorithm is run from start to finish without any other processes executing. These often do not behave correctly when run concurrently, as demonstrated at right. Concurrency often adds significant complexity to an algorithm, requiring concurrency control such as mutual exclusion.
Many parallel algorithms are run concurrently, particularly distributed algorithms, though these are distinct concepts in general.