A near-synonym for parallel processing. The term is used to denote both (i) the act of creating a program that contains sections to be executed in parallel and (ii) its subsequent execution. One difference from parallel processing is that concurrency is concerned with non-deterministic control flow, usually for applications (typically network-based) where communication times are unpredictable, whereas parallelism runs sub-tasks in parallel to improve performance with careful management of deterministic control flow.