排他制御せずに i と i+1 という2つのノードを同時に連結リストから外す操作を行うと、結果として i+1 のノードが外れないという状態になりうる。 排他制御(はいたせいぎょ)とは、コンピュータ・プログラムの実行において、複数のプロセスが利用出来る共有資源に対し、複数のプロセスからの同時アクセスにより競合が発生する場合に、あるプロセスに資源を独占的に利用させている間は、他のプロセスが利用できないようにする事で整合性を保つ処理の事をいう。相互排除または相互排他(mutual exclusion)ともいう。最大k個のプロセスが共有資源にアクセスして良い場合を k-相互排除という。 換言すれば1つのクリティカルセクションに複数のプロセス(またはスレッド)が同時に入ることを防ぐことである。クリティカルセクションとは、プロセスが共有メモリなどの共有資源にアクセスしている期間を指す。排他制御の問題は
![排他制御 - Wikipedia](https://cdn-ak-scissors.b.st-hatena.com/image/square/8cfab49be0fb03035e310d0dc5e091bb438324c9/height=288;version=1;width=512/https%3A%2F%2Fupload.wikimedia.org%2Fwikipedia%2Fcommons%2Fthumb%2F2%2F2f%2FMutual_exclusion_example_with_linked_list.png%2F1200px-Mutual_exclusion_example_with_linked_list.png)