.NETでブロッキングQueue <T>を作成しますか?
複数のスレッドがキューに追加され、複数のスレッドが同じキューから読み取るシナリオがあります。キューが特定のサイズに達すると、キューから項目が削除されるまで、キューを満たしているすべてのスレッドが追加時にブロックされます。 以下の解決策は私が現在使用しているものであり、私の質問は次のとおりです。これをどのように改善できますか?使用する必要があるBCLでこの動作を既に有効にしているオブジェクトはありますか? internal class BlockingCollection<T> : CollectionBase, IEnumerable { //todo: might be worth changing this into a proper QUEUE private AutoResetEvent _FullEvent = new AutoResetEvent(false); internal T this[int i] { get { return (T) List[i]; } } private int _MaxSize; internal int MaxSize { get { return _MaxSize; } set …