美文网首页
Future的使用

Future的使用

作者: 大数据修行 | 来源:发表于2020-03-23 21:13 被阅读0次

菜单
新建
打开
已保存
另存为
导出
打印
主题
偏好设置
关于
关闭
Future的使用

get(long timeout, TimeUnit unit)
package java.util.concurrent;
public interface Future<V> {
boolean cancel(boolean mayInterruptIfRunning);
boolean isCancelled();
boolean isDone();
V get() throws InterruptedException, ExecutionException;
V get(long timeout, TimeUnit unit)
throws InterruptedException, ExecutionException, TimeoutException;
}
这个接口是在异步线程中执行计算,然后在主线程当中能拿到异步线程计算的结果,如果异步线程中没有执行完,主线程会阻塞住,等异步线程完了之后拿到结果。这个地方有两个方法,get()和get(long timeout, TimeUnit unit),后面那个表示在时间范围内执行未完成就抛出异常。

import java.util.concurrent.;

public class TestFuture {
static ExecutorService executorService = Executors.newSingleThreadExecutor();

public static void main(String[] args) {
try {
Future<Integer> future = caculate(3);
Thread.sleep(10000);
int output = future.get(2000, TimeUnit.MILLISECONDS);
System.out.println(output);
} catch (InterruptedException e) {
e.printStackTrace();
} catch (ExecutionException e) {
e.printStackTrace();
} catch (TimeoutException e) {
e.printStackTrace();
}
}
public static Future<Integer> caculate (final Integer input){
return executorService.submit(new Callable<Integer>() {
@Override
public Integer call() throws Exception {
Thread.sleep(3000);
return input
input;
}
});

}
}

相关文章

  • Flutter学习笔记3-dart:async

    一、需要引入依赖: 二、Future await 应该优先使用await,而不是直接使用Future API使用F...

  • Dart中处理异步操作

    Dart中的异步操作使用Future、async、await Future 将耗时操作包裹到Future函数中,一...

  • Java Future

    Outline 什么是Java Future 为什么要使用Java Future (好处?) 如何使用Java F...

  • java8_CompletableFuture

    标签:java 可完成的Future 回顾Future使用 CompletableFuture tip:**Asy...

  • Future的使用

    菜单新建打开已保存另存为导出打印主题偏好设置关于关闭Future的使用 get(long timeout, Tim...

  • Dart中Future中api的一些使用

    总结了几个Future使用的小示例,便于我们理解Future API的原理。 Future.when 下面的例子,...

  • 使用 asyncio.Event

    这是我第一次使用 asyncio.Event, 在之前我使用 asyncio.Future,Future.set_...

  • Java8新特性8--使用CompletableFuture构建

    使用CompletableFuture构建异步应用 Future 接口的局限性 future接口可以构建异步应用,...

  • 常用线程模型2020-05-04

    1、Future模型 该模型通常在使用的时候需要结合Callable接口配合使用。 Future是把结果放在将来获...

  • Flutter -- 9.异步编程

    一.使用Future异步编程 Dart中使用Future完成异步操作 1.基本的异步代码示例 任务代码块,执行的异...

网友评论

      本文标题:Future的使用

      本文链接:https://www.haomeiwen.com/subject/shugyhtx.html