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 | 设置失败结果 |