これが私の問題です。 のように動作するデータ構造が必要ですが、queue
他のプロパティがいくつかあります。
- 指定されたアイテムを簡単に削除できるはずです
tag
(このキュー内のすべてのアイテムには、tag
それらをグループ化する があります) - また、指定された 1 つのアイテムを削除できるようにする必要もあります
key
(コレクションに追加されたすべてのアイテムには、そのような一意のキーがあります)。ここで、それが物事を単純化するなら、それがより速くなるならtag
、私は削除することができます.key
- このコレクションは並行環境で使用されるため、ロックの使用をできるだけ少なくすることは素晴らしいことです
- キューの通常の FIFO プロパティを持つ必要があります。頭にないアイテムにアクセスする必要はありませんが、上記の削除動作が機能する必要があります。
私は C# を使用してこのソリューションを構築していますが、利用可能なコレクションが私のニーズを満たすとはほとんど信じていないため、アルゴリズムとデータ構造の定義にもっと興味があります。
論文、書籍、ブログ投稿、その他の参考文献は大歓迎です。