4.5. 线程更改
本节介绍线程中的更改。
4.5.1. 非 Eclipse Vert.x 线程的上下文关联性
Vertx.getOrCreateContext ()
方法为每个非 Eclipse Vert.x 线程创建一个上下文。非 Eclipse Vert.x 线程在首次创建上下文时与上下文关联。在早期版本中,每次从非 Eclipse Vert.x 线程调用方法时,都会创建一个新上下文。
new Thread(() -> { assertSame(vertx.getOrCreateContext(), vertx.getOrCreateContext()); }).start();
这个更改不会影响您的应用程序,除非应用程序隐式依赖于每个调用创建新上下文。
在以下示例中,因为每个阻塞代码在不同的上下文上调用了 n 块,所以 n 块会同时运行。
for (int i = 0;i < n;i++) { vertx.executeBlocking(block, handler); }
要在 Eclipse Vert.x 4 中获得相同的结果,您必须更新代码:
for (int i = 0;i < n;i++) { vertx.executeBlocking(block, false, handler); }