同期を使用すると、並行的に実行されているスレッドに関して、プログラムの流れと共有データへのアクセスを制御することが可能になります。
相互排他ロック (mutex ロック)、読み取り/書き込みロック、条件変数、セマフォという 4 つの同期モデルがあります。
読み取り / 書き込みロックを使用することによって、プロテクトのかけられている共有リソースに対する並行読み取りや排他書き込みが可能になります。リソースを変更するには、スレッドがまず排他書き込みロックを獲得する必要があります。すべての読み取りロックが開放されない限り、排他書き込みロックは許可されません。