同期
同期を使用すると、並行的に実行されているスレッドに関して、プログラムの流れと共有データへのアクセスを制御することが可能になります。
相互排他ロック (mutex ロック)、読み取り / 書き込みロック、条件変数、セマフォという 4 つの同期モデルがあります。
-
相互排他ロックは、特定のコードセクションを実行する、あるいは特定のデータをアクセスするスレッドを一度に 1 つだけに制限します。
-
読み取り / 書き込みロックは、保護された共有リソースに対して、並行読み取りおよび排他的書き込みを許可します。リソースを変更するには、スレッドがまず排他書き込みロックを獲得する必要があります。すべての読み取りロックが開放されない限り、排他書き込みロックは許可されません。
-
条件変数は、特定の条件が満たされるまでスレッドをブロックします。
-
計数型セマフォは通常、リソースへのアクセスを調整します。計数の値は、セマフォにアクセスできるスレッド数の上限です。設定された値に達したセマフォはブロックされます。