次のコレクションが必要です。
1 - 固定長。そのため、テールが固定サイズの制限に達すると、自動的にテールがデキューされます。
2 - 必ずしもヘッドまたはテールのみではなく、個々の要素にアクセスできます。
3 - 先入れ先出し。
4 - 安全な同時アクセスを許可します (ただし、現時点ではこの点については妥協できます)。
5 - Enqueue および Dequeue メソッド。
私は .NET 4.5 を使用しており、ConcurrentQueue クラスを認識していますが、ポイント 1 と 2 がありません。IEnumerable を実装し、バックグラウンドで IList を使用するクラスを構築することを考えています。
ConcurrentQueue から継承することもできますが、body 要素 (head と tail だけでなく) に継続的にアクセスする必要があり、毎回列挙するのは非効率的です。
より良いアプローチがありますか、または同様の仕事をするコレクションをお勧めしますか?