プログラマは相互排他のために何を使わなければならない？以下の文を参考に答えてください。
 命令1Bが1Aと3Aの間に実行された場合、または命令1Aが1Bと3Bの間に実行された場合、このプログラムは間違ったデータを生成する。これを競合状態と呼ぶ。プログラマは相互排他のためにロックを使わなければならない。ロックとはプログラミング言語の構成要素であり、あるスレッドが変数の制御権を獲得すると、それがアンロックされるまで他のスレッドから読み書きできないようにする。ロックを獲得したスレッドはクリティカルセクション（プログラムの中で何らかの変数に排他的にアクセスする必要がある部分）を実行でき、それが完了したらそのデータをアンロックする。
ロック