私は、多くの同時実行性を失うことなく、複数のスレッド間で共有されている情報やデータ構造への変更を公開するために人々が使用する手法に興味があります。私の個人的な経験では、単一のライター/複数のリーダーに頻繁に遭遇します。単一のスレッドがオブジェクトを更新していますが、複数のスレッドがオブジェクトから読み取りを行っているため、変更について通知する必要があります。
簡単な例として、ハッシュテーブルを考えてみましょう(粗粒度のロック、細粒度のロック、または低ロックの手法など、スレッドセーフであると仮定しましょう)。スレッド1は、ハッシュテーブルへの情報の配置と削除を担当しますが、唯一のライターです。他のスレッドは、キーが変更されたとき、特定のキーが変更されたとき、または任意のバリアントのときに通知を受けることを希望する場合があります。彼らが購読したいものは特に重要ではありません。
スレッドがタイムリーで正しい変更情報を確実に受け取るために、どのような手法(論文の提案が欲しい)を使用しますか?