io.vertx.core.Context.isOnEventLoopThread()方法的使用及代码示例

x33g5p2x  于2022-01-18 转载在 其他  
字(8.7k)|赞(0)|评价(0)|浏览(115)

本文整理了Java中io.vertx.core.Context.isOnEventLoopThread()方法的一些代码示例,展示了Context.isOnEventLoopThread()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Context.isOnEventLoopThread()方法的具体详情如下:
包路径:io.vertx.core.Context
类名称:Context
方法名:isOnEventLoopThread

Context.isOnEventLoopThread介绍

[英]Is the current thread an event thread?

NOTE! This is not always the same as calling Context#isEventLoopContext. If you are running blocking code from an event loop context, then this will return false but Context#isEventLoopContext will return true.
[中]当前线程是事件线程吗?
笔记这并不总是与调用上下文#isEventLoopContext相同。如果您正在从事件循环上下文运行阻塞代码,那么这将返回false,但context#isEventLoopContext将返回true。

代码示例

代码示例来源:origin: eclipse-vertx/vert.x

public void connect(SocketAddress remoteAddress, SocketAddress peerAddress, String serverName, Handler<AsyncResult<Channel>> channelHandler) {
 Handler<AsyncResult<Channel>> handler = res -> {
  if (Context.isOnEventLoopThread()) {
   channelHandler.handle(res);
  } else {
   // We are on the GlobalEventExecutor
   context.nettyEventLoop().execute(() -> channelHandler.handle(res));
  }
 };
 if (proxyOptions != null) {
  handleProxyConnect(remoteAddress, peerAddress, serverName, handler);
 } else {
  handleConnect(remoteAddress, peerAddress, serverName, handler);
 }
}

代码示例来源:origin: eclipse-vertx/vert.x

@Override
 public void stop() throws Exception {
  assertTrue(Context.isOnVertxThread());
  assertFalse(Context.isOnWorkerThread());
  assertTrue(Context.isOnEventLoopThread());
 }
};

代码示例来源:origin: eclipse-vertx/vert.x

@Override
public void start() throws Exception {
 assertTrue(Context.isOnVertxThread());
 assertTrue(Context.isOnWorkerThread());
 assertFalse(Context.isOnEventLoopThread());
}

代码示例来源:origin: eclipse-vertx/vert.x

@Override
 public void stop() throws Exception {
  assertTrue(Context.isOnVertxThread());
  assertTrue(Context.isOnWorkerThread());
  assertFalse(Context.isOnEventLoopThread());
 }
};

代码示例来源:origin: eclipse-vertx/vert.x

@Override
public void start() throws Exception {
 assertTrue(Context.isOnVertxThread());
 assertFalse(Context.isOnWorkerThread());
 assertTrue(Context.isOnEventLoopThread());
}

代码示例来源:origin: eclipse-vertx/vert.x

@Override
 public void start() throws Exception {
  vertx.executeBlocking(fut -> {
   thread.set(Thread.currentThread());
   assertTrue(Context.isOnVertxThread());
   assertTrue(Context.isOnWorkerThread());
   assertFalse(Context.isOnEventLoopThread());
   assertTrue(Thread.currentThread().getName().startsWith(poolName + "-"));
   fut.complete();
  }, onSuccess(v -> {
   vertx.undeploy(context.deploymentID());
  }));
 }
}, new DeploymentOptions().setWorkerPoolName(poolName), onSuccess(v -> {}));

代码示例来源:origin: eclipse-vertx/vert.x

@Override
 public void start() throws Exception {
  thread.set(Thread.currentThread());
  assertTrue(Context.isOnVertxThread());
  assertTrue(Context.isOnWorkerThread());
  assertFalse(Context.isOnEventLoopThread());
  assertTrue(Thread.currentThread().getName().startsWith(poolName + "-"));
  context.runOnContext(v -> {
   vertx.undeploy(context.deploymentID());
  });
 }
}, new DeploymentOptions().setWorker(true).setWorkerPoolName(poolName), onSuccess(deployment::set));

代码示例来源:origin: eclipse-vertx/vert.x

@Test
public void testThread() {
 String poolName = TestUtils.randomAlphaString(10);
 WorkerExecutor worker = vertx.createSharedWorkerExecutor(poolName);
 AtomicBoolean onVertxThread = new AtomicBoolean();
 AtomicBoolean onWorkerThread = new AtomicBoolean();
 AtomicBoolean onEventLoopThread = new AtomicBoolean();
 AtomicReference<String> threadName = new AtomicReference<>();
 worker.executeBlocking(fut -> {
  onVertxThread.set(Context.isOnVertxThread());
  onWorkerThread.set(Context.isOnWorkerThread());
  onEventLoopThread.set(Context.isOnEventLoopThread());
  threadName.set(Thread.currentThread().getName());
  fut.complete(null);
 }, ar -> {
  testComplete();
 });
 // Use regular assertions because the thread name does not start with "vert.x-"
 // and it confuses the VertxTestBase asserts
 assertWaitUntil(() -> threadName.get() != null);
 assertTrue(onVertxThread.get());
 assertTrue(onWorkerThread.get());
 assertFalse(onEventLoopThread.get());
 assertTrue(threadName.get().startsWith(poolName + "-"));
}

代码示例来源:origin: eclipse-vertx/vert.x

@Test
public void testExecuteOrderedBlocking() throws Exception {
 Context context = vertx.getOrCreateContext();
 context.executeBlocking(f -> {
  assertTrue(Context.isOnWorkerThread());
  f.complete(1 + 2);
 }, r -> {
  assertTrue(Context.isOnEventLoopThread());
  assertEquals(r.result(), 3);
  testComplete();
 });
 await();
}

代码示例来源:origin: eclipse-vertx/vert.x

@Test
public void testExecuteUnorderedBlocking() throws Exception {
 Context context = vertx.getOrCreateContext();
 context.executeBlocking(f -> {
  assertTrue(Context.isOnWorkerThread());
  f.complete(1 + 2);
 }, false, r -> {
  assertTrue(Context.isOnEventLoopThread());
  assertEquals(r.result(), 3);
  testComplete();
 });
 await();
}

代码示例来源:origin: eclipse-vertx/vert.x

assertTrue(Thread.currentThread().getName().startsWith("vert.x-worker-thread"));
assertTrue(Context.isOnWorkerThread());
assertFalse(Context.isOnEventLoopThread());
try {
 Thread.sleep(pause);
assertTrue(Thread.currentThread().getName().startsWith("vert.x-eventloop-thread"));
assertFalse(Context.isOnWorkerThread());
assertTrue(Context.isOnEventLoopThread());
assertEquals("done!", res);
latch.countDown();

代码示例来源:origin: eclipse-vertx/vert.x

assertTrue(Thread.currentThread().getName().startsWith("vert.x-worker-thread"));
assertTrue(Context.isOnWorkerThread());
assertFalse(Context.isOnEventLoopThread());
try {
 Thread.sleep(1000);
 assertTrue(Thread.currentThread().getName().startsWith("vert.x-eventloop-thread"));
 assertFalse(Context.isOnWorkerThread());
 assertTrue(Context.isOnEventLoopThread());
 future.complete("done!");
});
assertTrue(Thread.currentThread().getName().startsWith("vert.x-eventloop-thread"));
assertFalse(Context.isOnWorkerThread());
assertTrue(Context.isOnEventLoopThread());
assertEquals("done!", res);
testComplete();

代码示例来源:origin: eclipse-vertx/vert.x

fail(ar.cause());
 assertTrue("Not an EL thread", Context.isOnEventLoopThread());
 complete();
});
   fail(ar.cause());
  assertTrue("Not an EL thread", Context.isOnEventLoopThread());
  complete();
 });

代码示例来源:origin: eclipse-vertx/vert.x

@Test
public void testStandardRightThread() throws Exception {
 assertFalse(Context.isOnVertxThread());
 Verticle verticle = new AbstractVerticle() {
  @Override
  public void start() throws Exception {
   assertTrue(Context.isOnVertxThread());
   assertFalse(Context.isOnWorkerThread());
   assertTrue(Context.isOnEventLoopThread());
  }
  @Override
  public void stop() throws Exception {
   assertTrue(Context.isOnVertxThread());
   assertFalse(Context.isOnWorkerThread());
   assertTrue(Context.isOnEventLoopThread());
  }
 };
 vertx.deployVerticle(verticle, onSuccess(res -> {
  assertTrue(Context.isOnVertxThread());
  assertFalse(Context.isOnWorkerThread());
  assertTrue(Context.isOnEventLoopThread());
  vertx.undeploy(res, onSuccess(res2 -> {
   assertTrue(Context.isOnVertxThread());
   assertFalse(Context.isOnWorkerThread());
   assertTrue(Context.isOnEventLoopThread());
   testComplete();
  }));
 }));
 await();
}

代码示例来源:origin: eclipse-vertx/vert.x

@Test
public void testWorkerRightThread() throws Exception {
 assertFalse(Context.isOnVertxThread());
 Verticle verticle = new AbstractVerticle() {
  @Override
  public void start() throws Exception {
   assertTrue(Context.isOnVertxThread());
   assertTrue(Context.isOnWorkerThread());
   assertFalse(Context.isOnEventLoopThread());
  }
  @Override
  public void stop() throws Exception {
   assertTrue(Context.isOnVertxThread());
   assertTrue(Context.isOnWorkerThread());
   assertFalse(Context.isOnEventLoopThread());
  }
 };
 vertx.deployVerticle(verticle, new DeploymentOptions().setWorker(true), onSuccess(res -> {
  assertTrue(Context.isOnVertxThread());
  assertFalse(Context.isOnWorkerThread());
  assertTrue(Context.isOnEventLoopThread());
  vertx.undeploy(res, onSuccess(res2 -> {
   assertTrue(Context.isOnVertxThread());
   assertFalse(Context.isOnWorkerThread());
   assertTrue(Context.isOnEventLoopThread());
   testComplete();
  }));
 }));
 await();
}

代码示例来源:origin: io.vertx/vertx-core

@Override
public void start() throws Exception {
 assertTrue(Context.isOnVertxThread());
 assertTrue(Context.isOnWorkerThread());
 assertFalse(Context.isOnEventLoopThread());
}

代码示例来源:origin: io.vertx/vertx-core

@Override
public void start() throws Exception {
 assertTrue(Context.isOnVertxThread());
 assertFalse(Context.isOnWorkerThread());
 assertTrue(Context.isOnEventLoopThread());
}

代码示例来源:origin: io.vertx/vertx-core

@Override
 public void stop() throws Exception {
  assertTrue(Context.isOnVertxThread());
  assertTrue(Context.isOnWorkerThread());
  assertFalse(Context.isOnEventLoopThread());
 }
};

代码示例来源:origin: io.vertx/vertx-core

@Override
 public void stop() throws Exception {
  assertTrue(Context.isOnVertxThread());
  assertFalse(Context.isOnWorkerThread());
  assertTrue(Context.isOnEventLoopThread());
 }
};

代码示例来源:origin: io.vertx/vertx-core

@Override
 public void stop() throws Exception {
  assertTrue(Context.isOnVertxThread());
  assertTrue(Context.isOnWorkerThread());
  assertFalse(Context.isOnEventLoopThread());
 }
};

相关文章