私は、同期が必要な一連のフィールドを含むオブジェクトAを持っています。読み書き同時実行
1)複数のスレッドが同時にオブジェクトのフィールドを読み取ることができます。 2)少なくとも1つのスレッドがオブジェクトから読み取っている場合、オブジェクトは変更できません。 3)オブジェクトが変更されている場合、スレッドはオブジェクトから読み取ることができません。
つまり、任意の数のリーダーがロックを保持できるようなロックが必要です。しかし、いずれかの作家がロックを保持している場合は、ロックを保持することはできません。
どうすればよいですか?私はC++を使用していますが、言語に依存しない方法が必要です。