producer-consumer

    0

    1答えて

    私は2つのバッファを持っているとしましょう。プロデューサはバッファ#1を満たし、次いでバッファ#2を で満たす。消費者は一度に1つのバッファを消費し、それは非常に遅いです( )。それはバッファ#1を消費している間、プロデューサは別のバッファ を埋める準備ができていますが、それらはすべていっぱいであり、コンシューマは#1でまだ完了していません 。だから、プロデューサーは待っています。 代わりに、私は

    0

    1答えて

    Cocoaでは、2つのNSThreads、1つのプロデューサ、および1つのコンシューマをセットアップしました。 プロデューサはNSMutableDataにデータを追加し、受信者はそのデータからNSInputStreamを開き、チャンクを読み込みます。 プロデューサスレッドは、コンシューマプロセスよりも速く書き込みます。これは問題ありません。しかし、生産者は限られた量の仕事しか生産せず、出て行く。消

    6

    6答えて

    私は最近、単純なプロデューサ/コンシューマパターンを使用したプログラムを作成しました。当初、スレッドの不適切な使用に関連するバグがありました.Lockは最終的に修正されました。しかし、私は、プロデューサ/コンシューマパターンをロックレスな方法で実装することが可能かどうかを考えさせました。 一つの生産者スレッド:私の場合は 要件は簡単でした。 1つのコンシューマスレッド。 キューには1つの項目だけが

    3

    2答えて

    は、私は、新しいデータが利用可能であるときに呼び出されるコールバックメソッドを持っている public interface IDataSource { IAsyncResult BeginRead( byte[] buffer, int offset, int size, TimeSpan timeout, AsyncCallb

    8

    3答えて

    私は、一般的なプロデューサ/コンシューマのペア+ Cのキューを処理するという考えを楽しみにしています。アイデアは、適切なIProducerインターフェイスとIConsumerインターフェイス(実装されている既定の実装)を実装するオブジェクトを作成するだけです。これは主にデリゲートで構成され、QueueProcessorクラスインスタンスに渡し、消費者の数を指定して移動します。 しかし、私は自分自身