Vertx 3.4:立即 运行 代码与 context.runOnContext 之间的区别
Vertx 3.4: Difference between running code immediately and context.runOnContext
我正在尝试了解 Vertx 的基础知识。我正在浏览关于它的标准文档 here,在那里我偶然发现了关于 上下文对象 的部分。它说它可以让你 运行 你的代码 later 通过提供一个叫做 runOnContext
的方法。我不明白的是,在哪种情况下我会选择稍后调用(非阻塞)代码块?如果代码是非阻塞的,无论你现在执行还是稍后执行,都将花费相同的时间。
谁能告诉我,在这种情况下,context.runOnContext
会有帮助吗?
如果您从另一个线程调用它,通常会有帮助。它将安排任务由绑定到此上下文的事件循环执行。
如果您已经在事件循环中,您也可以在从队列中读取项目时使用它:您可以为队列中的每个项目安排一个事件,而不是将所有项目作为单个事件处理。这将使其他类型的事件(网络、文件系统)有机会得到更早的处理。
我正在尝试了解 Vertx 的基础知识。我正在浏览关于它的标准文档 here,在那里我偶然发现了关于 上下文对象 的部分。它说它可以让你 运行 你的代码 later 通过提供一个叫做 runOnContext
的方法。我不明白的是,在哪种情况下我会选择稍后调用(非阻塞)代码块?如果代码是非阻塞的,无论你现在执行还是稍后执行,都将花费相同的时间。
谁能告诉我,在这种情况下,context.runOnContext
会有帮助吗?
如果您从另一个线程调用它,通常会有帮助。它将安排任务由绑定到此上下文的事件循环执行。
如果您已经在事件循环中,您也可以在从队列中读取项目时使用它:您可以为队列中的每个项目安排一个事件,而不是将所有项目作为单个事件处理。这将使其他类型的事件(网络、文件系统)有机会得到更早的处理。