简单说吧 。 我们需要实现一个同步类 Promise , 是调⽤线程 (单线程)的future 实现 。 在调用返回结果成功之前通过get方法阻塞调用线程 ,成功或者失败,释放阻塞线程 ,封装到RpcAsyncGetFuture 类⾥⾯去 。直接返回RpcAsyncGetFuture 给调⽤⽅ , 调⽤Promise的get ⽅法 wait 阻塞调用线程,直到 netty read 事件 发⽣ ,通过 sequenceid 找到promise ,调 ⽤Promise 的setSuccess ⽅法 notify wait 线程, 唤醒调⽤线程 就能完成 下⾯是sdk 异步future设计 时序图 。
![](https://img.haomeiwen.com/i13589440/5e549b835d4b0f76.png)
网友评论