在web场景中,我使用SpringBoot处理请求,对于每个请求,主线程都会向其他服务器发送几个请求来获取数据(这一步使用treadPool异步(,最后是主线程"得到";所有数据并返回。
所以我想知道Vert.x在这个场景中有什么优势?它们都使用多线程异步任务,如果我用vert.x替换threadPool,性能会更好吗?
是不是不一样,Vert.x不会为每个请求创建一个新线程。Vert.x有一个叫做Event循环的东西,它使用很少的Java线程进行管理。
Vert.x使用的线程数随着部署的顶点数的增加而增加,但其计数仍将非常低。
此外,Vert.x中的代码是Reactive,它是基于事件执行的,因此如果您正在等待事件(例如Http响应(,则当有可用的响应并且没有线程阻止响应时,您的代码将被调用。
查看此项以了解更多信息:https://alexey-soshin.medium.com/understanding-vert-x-event-loop-46373115fb3e