ポインターの逆参照のトピックで、特定の状況におけるポインターでアクセスされるストレージの偶発的共有に対処する方法を説明しました。
一般に、間接参照において共有問題に対処する場合、プログラムが何を行っているか理解する必要があります。単純に使用されているすべての共有をテキスト検索して、機械的に変換することはできません。
間接アクセスされるメモリー位置が明らかでない場合もありますが、同じポインター値を使用して独立した更新パターンを実装する一連の間接参照であることは分かります。間接参照の独立した更新の同期処理は変数の場合と同じです。ただし、同じメモリー位置にアクセスする可能性があるすべてのデータアクセスに同じロックを使用する必要があります。同じロックを複数の位置で使用することは、タスクの待機時間が長くなることを意味します。
最後に、タスクが大きなデータ構造の別々の部分を処理する設計で、共有の問題が検出された場合、それぞれの部分が設計どおりに独立していない可能性があります。この場合、共有問題を解決するためデータ構造を再構成すると、最良の結果が得られる可能性があります。