【发布时间】:2022-01-19 09:21:50
【问题描述】:
在web场景中,我使用SpringBoot处理请求,对于每个请求,主线程向其他服务器发送多个请求获取数据(这一步使用treadPool进行异步),最后主线程“获取”所有数据并返回。
所以我想知道 Vert.x 在这个场景中的优势是什么?两者都使用多线程来异步任务,如果我用vert.x替换threadPool性能会更好吗?
【问题讨论】:
-
你读过vertx.io/docs/vertx-core/java/#_dont_block_me吗?之后的两个部分也应该有所帮助。
-
@dano 我可能没有描述清楚,我想问的是使用vert.x作为客户端有什么好处,对于阻塞IO,避免阻塞eventLoop线程,我们仍然需要其他线程来完成工作,那么为什么比在客户端使用传统的线程池更好呢?
-
如果您使用 vert.x,但随后只使用阻塞 I/O API,实际上并没有任何优势。只有在您主要使用它们的非阻塞 API 时,才能实现 Vert.x 的大部分好处。如果你需要做的任何 I/O 都没有对 Vert.x 友好的 API,那么它可能不是你的好选择。
标签: java multithreading vert.x