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