読み方 : へいこうしょり
並行処理【concurrent processing】並行演算/並行計算
概要

単一のCPUで実現する場合、複数の処理を短い時間間隔で切り替えながら進める。複数の処理が同じ瞬間に実行されているわけではないが、切り替えが十分速いため、利用者には同時に動いているように見える。
実行状態にあるプログラムを「プロセス」(process)という。プロセス内部で複数の処理の流れを作り出すこともでき、「スレッド」(thread)と呼ばれる。CPUはあるプロセスをごく短い時間だけ実行したら別のプロセスに移り、またすぐに戻るという動作を繰り返す。この切り替えを「タスクスケジューリング」といい、オペレーティングシステム(OS)が自動的に制御する。
並行処理と混同されやすいのが「並列処理」(parallel processing)である。これは複数のCPUやCPUコアが同時に稼働しており、同じ瞬間にそれぞれ異なる処理を個別に実行する方式を指す。並行処理は並列処理によっても実現できるため、より広い概念と言える。
並行処理が特に有効な場面は、ある処理が待機状態に入っている間に別の処理を進められるときである。例えば、ファイルの読み書きやネットワーク通信の間、CPUは待ち状態となり余裕が生まれる。そこで別のプロセスへ切り替えることで、空き時間を減らして全体の処理効率を高められる。
複数のプロセスやスレッドが同じデータに同時にアクセスすると、書き換えの順序が乱れてデータが壊れることがある。これを防ぐためにロックなどの排他制御が用いられる。設計を誤ると、プロセスやスレッド同士が互いに相手の終了を待ち続けて処理が止まる「デッドロック」が生じることもある。
(2026.6.25更新)