java.util.concurrent.CompletableFuture#orTimeout ( )源码实例Demo

下面列出了java.util.concurrent.CompletableFuture#orTimeout ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: turbo-rpc   文件: FutureBenchmark.java
@Benchmark
@BenchmarkMode({ Mode.Throughput })
@OutputTimeUnit(TimeUnit.MILLISECONDS)
public Object completableFutureWithTimeout() {
	CompletableFuture<Integer> future = new CompletableFuture<>();

	future.orTimeout(1, TimeUnit.SECONDS);

	future.complete(Integer.valueOf(1));

	return future.join();
}
 
源代码2 项目: j2objc   文件: CompletableFutureTest.java
/**
 * orTimeout completes with TimeoutException if not complete
 */
public void testOrTimeout_timesOut() {
    long timeoutMillis = timeoutMillis();
    CompletableFuture<Integer> f = new CompletableFuture<>();
    long startTime = System.nanoTime();
    f.orTimeout(timeoutMillis, MILLISECONDS);
    checkCompletedWithTimeoutException(f);
    assertTrue(millisElapsedSince(startTime) >= timeoutMillis);
}
 
源代码3 项目: j2objc   文件: CompletableFutureTest.java
/**
 * orTimeout completes normally if completed before timeout
 */
public void testOrTimeout_completed() {
    for (Integer v1 : new Integer[] { 1, null })
{
    CompletableFuture<Integer> f = new CompletableFuture<>();
    CompletableFuture<Integer> g = new CompletableFuture<>();
    long startTime = System.nanoTime();
    f.complete(v1);
    f.orTimeout(LONG_DELAY_MS, MILLISECONDS);
    g.orTimeout(LONG_DELAY_MS, MILLISECONDS);
    g.complete(v1);
    checkCompletedNormally(f, v1);
    checkCompletedNormally(g, v1);
    assertTrue(millisElapsedSince(startTime) < LONG_DELAY_MS / 2);
}}
 
源代码4 项目: tutorials   文件: CompletableFutureUnitTest.java
@Test
public void testTimeoutTriggered () throws Exception {
    CompletableFuture<Object> future = new CompletableFuture<>();
    future.orTimeout(1, TimeUnit.SECONDS);
    
    Thread.sleep(1100);
    
    assertTrue(future.isDone());
    
    try {
        future.get();
    } catch (ExecutionException e) {
        assertTrue(e.getCause() instanceof TimeoutException);
    }
}
 
源代码5 项目: tutorials   文件: CompletableFutureUnitTest.java
@Test
public void testTimeoutNotTriggered () throws Exception {
    Object input = new Object();
    CompletableFuture<Object> future = new CompletableFuture<>();
    
    future.orTimeout(1, TimeUnit.SECONDS);
    
    Thread.sleep(100);
    
    future.complete(input);
    
    Thread.sleep(1000);
    
    assertTrue(future.isDone());
    assertSame(input, future.get());
}