Vert.x 4 学习笔记
-
-
- 1. 核心概念:`runOnContext` 是做什么的?
- 2. 方法详解与行为分析
-
- 方法签名
- 执行逻辑
- 关键特性
- 3. 主要使用场景
-
- 场景一:从 Worker 线程返回结果到 Event Loop 线程(最经典)
- 场景二:在不同 Verticle 之间安全地访问状态
- 场景三:从自定义的非 Vert.x 线程与 Vert.x 组件交互
- 4. 与类似方法的比较
- 5. 最佳实践和注意事项
- 总结
-
1. 核心概念:runOnContext 是做什么的?
简单来说,Vertx.runOnContext() 的作用是:将一段代码(Handler)异步地提交到一个特定的 Context 中执行。
为了深入理解,我们需要拆解几个关键点:
- Context (上下文):这是 Vert.x 的核心概念。你可以把它理解为一个执行环境的“沙箱”或“工作区”。每个 Context 都与一个特定的线程绑定(要么是 Event Loop 线程,要么是 Worker 线程)。
- Event Loop Context: 与一个 Event Loop 线程绑定,用于执行非阻塞的、高并发的任务(如处理网络I/O)。
- Worker Context: 与一个 Worker 线程池中的线程绑定,用于执行阻塞的、耗时较长的任务(如传统的JDBC查询、复杂计算)。
- VertxThread: Vert.x 管理的线程,是 Context 的载体。一个 VertxThread 在其生命周期内只绑定一个 Context。






