vert.x - 在vertx中执行事件处理程序

标签 vert.x

如果我有以下代码:

for(int i = 0; i < 10; i++)
{
    vertx.eventBus().send("some-address", some-handler);
}

此循环中对 some-handler 的所有调用都是并行执行还是顺序执行?如果是顺序执行,为了获得并行执行,正确的方法是什么?

问候

最佳答案

执行是“顺序”的,因为发送消息将导致仅在接收消息的地址处注册一个“处理程序”。理论上,如果您想要并行执行,则必须部署为该特定“处理程序”注册的两个(或更多)Verticle,并开始发布消息。请记住,Vert.x 有单个 verticle 的并发性,无论如何,这是该平台的要点。

另外,看看这个 link 。这是迄今为止我所见过的关于并发和并行编程的最好(且简洁)的解释;尽管行话因语言而异,但肯定会给您提供什么是什么的线索。

关于vert.x - 在vertx中执行事件处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28388041/

相关文章:

java - vert.x 和 BIO 线程

java - Vertx 连接超时未捕获 JDBCClient (.getConnection)

java - Vertx Eventbus 无法在 Java 中工作

java - Vert.x future 处理程序设置

java - 方法 rxExecuteBlocking 消耗所有结果 - ssh 客户端

java - 使用 Vert.x vertx-pg-client 从池中获取 PgConnection

java - 无法在 Windows 7 上为 Eclipse 项目运行 vertx 模块

java - 如何在循环中进行一些异步调用

java - 通过添加配置文件更改 Vert.x 中的日志级别

kotlin - 找到Kotlin Vertx类型不匹配Future <Unit>预期的Handler <AsyncResult <Void >>