次のことができる必要があります。
- リンクされたリストを検索します。
- 見つからない場合に備えて、新しいノードをリストに追加します。
- ほとんどがリストで読み取られるため、スレッドセーフで rwlock を使用してください。
私が抱えている問題は、read_lock から write_lock に昇格するときに、read_lock を保持しているリスト検索を行っているときに、他のスレッドが write_lock を待っていないことを確認するために、リストを再度検索する必要があることです。
二重リスト検索 (おそらくある種の seq_lock) を行わずに上記を達成する別の方法はありますか?