基本的には、一度に乱数を生成するプロデューサーと、1秒間スリープして数値を出力する複数の消費者があります。rxjavaでバランスファンアウトを実装する方法は?
すべての消費者は排他的ですが、すべての人が1つの受信者しか持てません。
この動作は、javaのJMSキューまたはBlockingQueueに似ています。アッカストリームで
、私は
balance[T] – (1 input, N outputs) given an input element emits to one of its output ports.
を見つけることができますしかし、私はrxjava内の任意の組み込みコンポーネントを見つけることができない同じ仕事をします。
観測者は常にpub-sub
のようなオブザーバーにメッセージをブロードキャストします。 queue
スタイルが必要な場合はどうすればいいですか?
私は何かお見逃しですか?
あなたのユースケースは何ですか?要素の処理を並列化しますか? – akarnokd
はい、要素の処理を並列化したいと思います。私は、複数のスレッドとブロックキューでこれを行うことができますが、私はこれをよりエレガントにするのだろうかと思います。 プロデューサはデータベースからフェッチしたイベントと、これらのイベントで時間のかかる仕事をしている多数の消費者を放出しています。これらの消費者はまったく同じです。 –