如果我有以下代码:
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/