マルチプロセッシング
システムソフトウェアもユーザーソフトウェアも「セマフォ」(または「ロック」あるいは「ゲート」とも呼ばれる)のようなソフトウェアの排他制御機構を使って、他のスレッドが同じデータにアクセスしないように防止する。このようなロック処理はコードの複雑性を増し、性能を低下させ、評価の必要性を増すが、マルチプロセッシングの利点を否定するほどの問題ではない。
同様な競合は、CPU間でハードレベルでも発生し(例えば、キャッシュの競合と破損など)、それらはハードレベルまたはハードとソフトの共同で解決しなければならない(例えば、キャッシュ・クリア命令)。マルチプロセッシングを実装する場合、性能向上のためにキャッシュという高速メモリを僅かに各プロセッサ毎に持ち、より低速なメモリ本体へのアクセスを擬似的に高速化している。各プロセッサは個別に情報を持つ事になり、この情報をプロセッサ単位で書き換え、使用する事になる。本来、メモリ上の情報を共有しているはずなのに、あるプロセッサのキャッシュ上の変更(メモリ書き込み)を他のプロセッサのキャッシュに通知しないとデータを共有できなくなってしまう。