0%

java | future & promise

netty future 继承自 jdk future

netty promise 继承自 netty future

  • jdk future 只能同步等任务结束才能知道结果
  • netty future 可以同步等待、也可以异步等待结果,但是,需要等任务结束
  • netty promise 不仅有 netty future 功能,而且脱离了任务独立存在,只作为两个线程传递结果的容器

功能

功能 jdk future netty future promise
cancel 取消任务
isCanceled 是否取消任务
isDone 任务是否完成,不能区分成功还是失败
get 获取任务结果,阻塞等待
getNow 获取任务结果,非阻塞,还未产生结果的时候返回 null
await 等待任务结束,如果任务失败不会抛出异常,而是通过 isSuccess 判断
sync 等待任务结束,如果任务失败,抛出异常
isSuccess 判断任务是否成功
cause 获取任务信息,非阻塞,如果没有失败,返回 null
addListener 添加回调,异步接收结果
setSuccess 设置成功结果
setFailure 设置失败结果
请我喝杯咖啡吧~