【发布时间】:2019-08-08 06:53:41
【问题描述】:
我对 Vertx 中的标准 verticle 和 worker verticle 感到困惑。 它们的用例是什么?
【问题讨论】:
-
欢迎来到堆栈溢出,请浏览tour、帮助中心和How to Ask 部分,了解本网站的工作原理并帮助您改进当前和未来的问题,这可以帮助您你会得到更好的答案。也请查看How do I ask。
标签: java vert.x vertx-verticle
我对 Vertx 中的标准 verticle 和 worker verticle 感到困惑。 它们的用例是什么?
【问题讨论】:
标签: java vert.x vertx-verticle
Vert.x 是一个事件驱动的非阻塞工具包。当一个“标准”verticle被执行时,它的逻辑在一个事件循环线程上运行。虽然该线程运行该 Verticle 的逻辑,但它不能服务任何其他请求,因此该线程不应执行任何阻塞代码。
但是,有时,您确实需要执行阻塞代码——进行长时间计算、同步调用外部服务等——在这种情况下,您需要确保不会发生这种情况在事件循环线程上。
你有两种方式来执行阻塞代码:
executeBlocking 块,它在单独的线程中执行。【讨论】:
executeBlocking 块或工作程序 Verticle 中显式执行它们。