データ構造がどのように「非ブロッキング」になるかを理解するのに苦労しています。
「ノンブロッキング」ハッシュテーブルを作成しているとします。ある時点で、ハッシュテーブルがいっぱいになりすぎるため、より大きなテーブルに再ハッシュする必要があります。
これは、グローバルリソースであるメモリを割り当てる必要があることを意味します。したがって、データ構造自体で発生する可能性のある問題に関係なく、ヒープのグローバルな破損を防ぐために、何らかのロックを取得する必要があるようです。
しかし、それはあなたがあなたのメモリを割り当てる間、他のすべてのスレッドがブロックしなければならないことを意味します...
ここで何が欠けていますか?
(どのように)同じことをしている別のスレッドをブロックせずにメモリを割り当てることができますか?