Dubbo 调用一定会阻塞线程吗?
先说出你的答案
定义边界、关键机制、一个反例;P8题再补容量、失败与验证。
查看完整题解
参考回答
直接回答
普通同步接口调用时,调用方线程会等到结果或异常。底层仍可用异步 I/O 收发包。想让业务代码发出请求后继续处理其他任务,可以使用返回 CompletableFuture 的接口。
讲清原理
客户端收到响应后完成对应的 Future。线程是否等待,取决于调用方何时需要这个值。提供端还能独立决定业务方法同步执行还是返回异步结果,两端的异步设置各管一段。
例子与易错点
查运费后立刻调用 join(),调用方仍会等。若多个查询互不依赖,可以先发出,再在真正需要合并结果时等待。
延伸阅读 Dubbo 的 I/O 线程和业务线程怎么分工? · Dubbo 3 服务端怎样异步执行? · Dubbo 3 消费者怎样异步调用?
和评分标准对照,你能独立回答到哪一步?
自评会安排下一次复习,不保存你的口述内容。
这道题,你掌握得怎么样?
掌握程度由你主动标记,阅读和收藏不会自动改变状态。