当我们在 Verticle 中创建 HTTP 服务器时,是否意味着事件循环线程创建了这个服务器?如果不是,事件循环的工作是什么?谁创建了这个 HTTP 服务器?当我们创建一个顶点的多个实例时,事件循环会发生什么?
问问题
49 次
2 回答
0
Event Loop 是 Reactor 设计模式的一种实现。它的目标是不断检查新事件,并且每次有新事件出现时,快速将其分派给知道如何处理它的人。
查看这篇文章了解更多详情: https ://alexey-soshin.medium.com/understanding-vert-x-event-loop-46373115fb3e
于 2021-11-01T08:58:46.640 回答
0
Q1。当我们在 Verticle 中创建 HTTP 服务器时,是否意味着事件循环线程创建了这个服务器?
答:没有
Q2。如果不是,事件循环的工作是什么?
在标准反应器实现中,有一个事件循环线程在循环中运行,当所有事件到达时将所有事件传递给所有处理程序。Vert.x 在这里的工作方式不同。每个 Vertx 实例都维护多个事件循环,而不是单个事件循环。默认情况下,我们根据机器上可用内核的数量来选择数字,但这可以被覆盖。
事件循环线程用于将事件分派给处理程序。
Q3。谁创建了这个 HTTP 服务器?
答:从 Vertx 实例创建 HTTP 服务器。使用的方法是createHttpServer()
HttpServer server = vertx.createHttpServer();
Q4。当我们创建一个verticle的多个实例时,事件循环会发生什么?
事件循环线程的功能保持不变。对于许多垂直实例,只有更多的事件循环线程。
图片来自这篇文章,我也建议通过。
于 2021-11-03T01:51:56.223 回答