私はこれをグローバルとして定義しました:
Processor<Integer, Integer> p = RingBufferProcessor.create("test", 32);
Stream<List<Integer>> s = Streams.wrap(p).distinct().buffer(5, TimeUnit.SECONDS).log().unbounded();
コンストラクターについて:
s.consume(i -> System.err.println(Thread.currentThread() + " data=" + i));
今、私はこの関数を2回呼び出します:
for (int i = 0; i < 1000; i++) {
p.onNext(i % 3);
}
明確に動作し、私は初めて消費します。私がこのメソッドを再度呼び出すと、彼はまだ明確なことを覚えており、消費をトリガーしません。
私たちが消費するたびに明確に掃除するオプションはありますか?私が達成する必要がある考えは、私がすべての入力をバッファリングし、毎回一意のアイテムのみを消費するということです。
誰かが何か考えを持っていますか?
Tnx
深く調べた後、私はこれが選択肢ではないと信じているという結論に達しました。私が何とかしたことは、私が消費するとき、私はセットに変換しているということです。このように、ストリームが消費されるたびに、私は一意の値のみに取り組んでいます
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加