コードで同時実行の問題を解決しようとしたときに、この問題に遭遇しました。元のコードでは、一意のロックのみを使用して、stl マップであるキャッシュへの書き込み操作をロックしています。ただし、キャッシュへの読み取り操作に制限はありません。そのため、読み取り操作に共有ロックを追加し、書き込み操作に一意のロックを保持することを考えていました。しかし、誰かが私に、マップ自体が行う内部キャッシュの問題があるため、マップでマルチスレッドを実行するのは安全ではないと言っていました。
誰かが理由を詳しく説明できますか?内部キャッシュは何をしますか?