私は、一般的なプロデューサ/コンシューマのペア+ Cのキューを処理するという考えを楽しみにしています。アイデアは、適切なIProducerインターフェイスとIConsumerインターフェイス(実装されている既定の実装)を実装するオブジェクトを作成するだけです。これは主にデリゲートで構成され、QueueProcessor
クラスインスタンスに渡し、消費者の数を指定して移動します。汎用.Netプロデューサ/コンシューマ
しかし、私は自分自身に言う、 "自己、確かにこれは前に行われている。"
だから、誰もが(VB.Netがあまりにも、大丈夫です)C#でのプロデューサ/コンシューマパターンの良い、ジェネリック実装を知っていますか?私が探している基本的な要件:
- 使用の生産と消費のタイプのジェネリック
- は、あなたがどのように機能するか、多くの消費者指定を許可(入力は、タスク、および出力タイプ、またはそれらの任意の組み合わせをキューに入れられました)キュー
- は(私が知っている、複数の消費者とのトリッキー)あなたがパイプラインに複数のキューをリンクまたはチェーンを許可
- では、独自の生産者と消費者
- を実装することを可能にする(あなたがプロデューサーに任意のIEnumerableををオンにすることを許可します私がそれを自分で実装しなければならない場合は大丈夫です可能ベース)
- デリゲート(あなたは、単一のアイテムを処理するために、基本的な消費者や生産者の作業のためのラムダ構文を使用することができます)
がない場合は、どのような落とし穴がそれを妨げていると、あなたは上の任意の考えを持っていますそれを実装する方法は?
http://msdn.microsoft.com/en-us/library/dd267312.aspxを見ましたか? – porges
はい、IProducerConsumerCollectionですが、私が最初に質問したときはまだ存在しませんでした。 4.0でのサポートについての投稿を書くと、簡単なupvoteが私から手に入ります。 –
Argh!私はこれがどうやって起こっているのかわかりません...私はいつも2歳のポストに終わっています:P – porges