当前位置: 首页 > 知识库问答 >
问题:

vertx中事件处理程序的执行

席兴朝
2023-03-14

如果我有以下代码:

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

对该循环中某个处理程序的所有调用是并行执行还是顺序执行?如果是顺序的,那么要获得并行执行,正确的方法是什么?

当做

共有1个答案

章德惠
2023-03-14

执行是“连续的”,因为发送消息只会导致在接收消息的地址注册一个“处理程序”。理论上,如果希望并行执行,必须部署两个(或更多)为该特定“处理程序”注册的垂直链接,并开始发布消息。请记住,垂直。x对于单个垂直体没有并发性,这是平台的主要点。

此外,请查看此链接。这是迄今为止我所看到的关于并发和并行编程的最好(也是最简洁)的解释;肯定会给你一个什么是什么的线索,尽管不同语言的行话各不相同。

 类似资料:
  • 问题内容: 我有一棵divs树: 在div上单击时,将使其子级不可见-即单击“ a”将使“ b”和“ c”不可见。 问题是:单击“ b”将调用“ a”的单击,并使“ b”和“ c”不可见。如何使用jQuery禁用对“ a”的点击? 谢谢 问题答案: 您可以为孩子添加一个处理程序,以防止click事件蔓延: 这样一来,点击不会传播到。都不会单击以转到,因此也不会。

  • 我使用的是Vertx3.5.0,非常新。我试图在客户端取消请求时取消代码执行。 目前,我们要做的第一件事就是部署一个verticle来运行HttpServer,然后将所有路由添加到路由器。从这里开始,每个路由都有一个处理函数。在这个处理器中,我正在尝试: 这是我见过的唯一一个实际捕获连接关闭的方法,但问题是它没有在eventloop中足够早地执行处理程序。因此,如果我在那里有任何日志,它将看起来像

  • 事件就是用户或浏览器自身执行的某种动作。诸如click、load 和mouseover,都是事件的名字。而响应某个事件的函数就叫做事件处理程序(或事件侦听器)。事件处理程序的名字以"on"开头,因此click 事件的事件处理程序就是onclick,load 事件的事件处理程序就是onload。为事件指定处理程序的方式有好几种。 13.2.1 HTML事件处理程序某个元素支持的每种事件,都可以使用一

  • 正在发生的事情: 在第8点。无论处理程序是否取消事件,由于取消检查默认为false,第二个事件已经排队。Guava的EventBus坚持在启动下一个事件之前完成当前的处理程序运行,我确信这有其用处,但这不是我想要的。 尝试黑客:

  • 我已经在JList上有一个这样的自定义控件库 但是我希望Jlist有滚动条,所以我将自定义控件的超类更改为JScrollPane并将JList添加到其中。像这样的代码 好吧,如果MyClass扩展了JList,在JFrame中我可以将MouseListener添加到MyClass对象中,在mouseClick中我比较MouseEvent getSource是MyClass的一个实例并调用MyCla

  • 问题内容: 我有一个LoginForm组件。我要检查之前提交,这两个和设置。我尝试使用此代码(省略了很多内容): 但是,我在事件处理程序中得到一个,说是空的。 我该怎么办? 问题答案: 你需要设置的方法,因为现在是,对于此操作,您可以使用 或者您可以使用箭头功能