Future 和 Callable 可以实现有返回结果的 Runnable。
有三种状态:
- 等待运行(Waiting to run)
- 正在运行(Runnable)
- 运行完成(Completed)
可以同过 Future.get() 获取结果,如果任务完成,立即返回,如果任务没有完成,将会等待任务完成后返回运行结果。
public class FutureDemo{ // 构造feture privite final FutureTack<TestInfo> future = new FutureTask(new Callable<TestInfo>{ public Testinfo call() throws DataLoadExtion{ return loadDataInfo(); } }); // 执行furute线程 private fianl Thread thread = new Thread(future); // 封装线程启动 public void start(){ thread.start(); } // 获取furute的返回结果 future.get(); public TestInfo get(){ try{ return feture.get() }catch(Exception e){ throw e.getCause(); } } }
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于