Concurrency is the property of a program or algorithm such that:
- the program is decomposable into partially ordered or unordered units of execution - the program result remains determinant despite partial ordering