並行計算の主要な課題の1つは、並行プロセスが互いの邪魔をしないようにすることである。共有リソース で表される預金口座からの引き落としを行う以下の擬似コードを例として掲げる:
現在、並行性のための構造を備えた最も一般的な言語はJavaとC#である。これらの言語は共有メモリ型並行性モデルを基本とし、モニタによるロックを備えている(メッセージパッシングモデルを共有メモリモデル上に構築することも可能)。メッセージパッシング型並行性モデルの言語としては、Erlang が最もよく使われている。
研究目的で開発された並行プログラミング言語(Pictなど)は実用を目的としたものより多い。しかし、Erlang、Limbo、Occam といった言語は過去20年間、何度も商用に使われてきた実績がある。並行プログラミング言語として重要と思われるものを以下に列挙する:
並行計算モデルはいくつか存在し、並行システムの分析と理解に使用される。以下に主なものを列挙する: