所谓异步调用其实就是实现一个可无需等待被调用函数的返回值而让操作继续运行的方法。
在 Java 语言中,简单的讲就是另启一个线程来完成调用中的部分计算,使调用继续运行或返回,而不需要等待计算结果。但调用者仍需要取线程的计算结果。
一、 Future 是什么
作用
future 可以用于异步获取多线程任务结果 , Callable 用于产生结果,Future 用于获取结果
流程
当 Future 进行 submit 开始 , 业务处理已经在多线程中开始 , 而 Get 即从多线程中获取数据
当 Get 获取时业务还未处理完 , 当前线程会阻塞 , 直到业务处理完成 . 所以需要注意 future 的任务安排
使用 future 会有以下效果:
大约 7 分钟