Jump to content

Concurrent algorithm

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by AnomieBOT (talk | contribs) at 12:31, 8 February 2014 (Dating maintenance tags: {{Unreferenced}}). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
An example of a sequential algorithm not working correctly concurrently: two nodes, i and i+1, being removed simultaneously result in node i+1 not being removed

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.

References