本文整理汇总了Java中java.util.concurrent.SubmissionPublisher.consume方法的典型用法代码示例。如果您正苦于以下问题:Java SubmissionPublisher.consume方法的具体用法?Java SubmissionPublisher.consume怎么用?Java SubmissionPublisher.consume使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类java.util.concurrent.SubmissionPublisher
的用法示例。
在下文中一共展示了SubmissionPublisher.consume方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: testConsume
import java.util.concurrent.SubmissionPublisher; //导入方法依赖的package包/类
/**
* consume returns a CompletableFuture that is done when
* publisher completes
*/
public void testConsume() {
AtomicInteger sum = new AtomicInteger();
SubmissionPublisher<Integer> p = basicPublisher();
CompletableFuture<Void> f =
p.consume((Integer x) -> sum.getAndAdd(x.intValue()));
int n = 20;
for (int i = 1; i <= n; ++i)
p.submit(i);
p.close();
f.join();
assertEquals((n * (n + 1)) / 2, sum.get());
}
示例2: testConsumeNPE
import java.util.concurrent.SubmissionPublisher; //导入方法依赖的package包/类
/**
* consume(null) throws NPE
*/
public void testConsumeNPE() {
SubmissionPublisher<Integer> p = basicPublisher();
try {
CompletableFuture<Void> f = p.consume(null);
shouldThrow();
} catch (NullPointerException success) {}
}
示例3: testCancelledConsume
import java.util.concurrent.SubmissionPublisher; //导入方法依赖的package包/类
/**
* consume eventually stops processing published items if cancelled
*/
public void testCancelledConsume() {
AtomicInteger count = new AtomicInteger();
SubmissionPublisher<Integer> p = basicPublisher();
CompletableFuture<Void> f = p.consume(x -> count.getAndIncrement());
f.cancel(true);
int n = 1000000; // arbitrary limit
for (int i = 1; i <= n; ++i)
p.submit(i);
assertTrue(count.get() < n);
}
示例4: testConsume
import java.util.concurrent.SubmissionPublisher; //导入方法依赖的package包/类
/**
* consume returns a CompletableFuture that is done when
* publisher completes
*/
public void testConsume() {
AtomicInteger sum = new AtomicInteger();
SubmissionPublisher<Integer> p = basicPublisher();
CompletableFuture<Void> f =
p.consume((Integer x) -> { sum.getAndAdd(x.intValue()); });
int n = 20;
for (int i = 1; i <= n; ++i)
p.submit(i);
p.close();
f.join();
assertEquals((n * (n + 1)) / 2, sum.get());
}