私はc++で並行リンク(単一)リストを実装しようとしています。以前に同様の課題を抱えていた可能性のある人とのいくつかのポイントを明確にしたいと思います。背景:当初、リストはスキップリストの一部であることが計画されていましたが、スキップリストはメモリ内インデックスの一部でした。私がこれを実装し始めたとき、スキップリストのほかに使用できる一般的なソリューションを(stlのような方法で)作成しないのはなぜだと思います。しかし、並行コンテナーの動作方法は、シングルスレッドのものとは大きく異なる可能性があるようです。たとえば、挿入および削除操作では、std :: listの入力引数としてイテレータを使用しますが、同時実装の場合、別のスレッドがその近くのリストを変更すると、イテレータは無効になります。
リストがスキップリストの「レイヤー」である場合、この場合はソートされ、イテレーターを回避できるため、問題はありません。しかし、誰かが問題がどのように解決されたか一般的な解決策を実装しようとしたかどうか私は興味があります。
別の質問..そのようなコンテナをstlアルゴリズムと互換性のあるものにすることは価値がありますか?それらのほとんどは、並行性が原因で失敗する可能性があるようです。
前もって感謝します!