本文整理了Java中io.vertx.core.Context.isOnEventLoopThread()
方法的一些代码示例,展示了Context.isOnEventLoopThread()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Context.isOnEventLoopThread()
方法的具体详情如下:
包路径:io.vertx.core.Context
类名称: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());
}
};
内容来源于网络,如有侵权,请联系作者删除!