VirtualThreadCheckTest Class — netty Architecture
Architecture documentation for the VirtualThreadCheckTest class in VirtualThreadCheckTest.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 16c3d820_e27a_70f2_6fc9_7c48cefd7ef3["VirtualThreadCheckTest"] eddda0e3_7912_1d63_52d4_91dd3ffa6167["VirtualThreadCheckTest.java"] 16c3d820_e27a_70f2_6fc9_7c48cefd7ef3 -->|defined in| eddda0e3_7912_1d63_52d4_91dd3ffa6167 f625ce9f_f490_f295_f998_40c2ea16f75e["testCheckVirtualThread()"] 16c3d820_e27a_70f2_6fc9_7c48cefd7ef3 -->|method| f625ce9f_f490_f295_f998_40c2ea16f75e 1b46ae59_36b2_c3b0_a84b_febb41badd00["testGetVirtualThreadCheckMethod()"] 16c3d820_e27a_70f2_6fc9_7c48cefd7ef3 -->|method| 1b46ae59_36b2_c3b0_a84b_febb41badd00 d6eccd65_d8c2_8846_3dca_86cee6292348["Method()"] 16c3d820_e27a_70f2_6fc9_7c48cefd7ef3 -->|method| d6eccd65_d8c2_8846_3dca_86cee6292348
Relationship Graph
Source Code
common/src/test/java/io/netty/util/internal/VirtualThreadCheckTest.java lines 30–111
public class VirtualThreadCheckTest {
@Test
public void testCheckVirtualThread() throws Exception {
assertFalse(PlatformDependent.isVirtualThread(null));
assertFalse(PlatformDependent.isVirtualThread(Thread.currentThread()));
FastThreadLocalThread fastThreadLocalThread = new FastThreadLocalThread();
assertFalse(PlatformDependent.isVirtualThread(fastThreadLocalThread));
final AtomicReference<Boolean> atomicRes = new AtomicReference<Boolean>();
Thread subThread = new Thread() {
@Override
public void run() {
atomicRes.set(PlatformDependent.isVirtualThread(Thread.currentThread()));
}
};
subThread.start();
subThread.join();
assertFalse(atomicRes.get());
Thread subOfSubThread = new SubThread() {
@Override
public void run() {
atomicRes.set(PlatformDependent.isVirtualThread(Thread.currentThread()));
}
};
subOfSubThread.start();
subOfSubThread.join();
assertFalse(atomicRes.get());
Thread subOfSubOfSubThread = new SubOfSubThread() {
@Override
public void run() {
atomicRes.set(PlatformDependent.isVirtualThread(Thread.currentThread()));
}
};
subOfSubOfSubThread.start();
subOfSubOfSubThread.join();
assertFalse(atomicRes.get());
assumeTrue(PlatformDependent.javaVersion() >= 21);
Method startVirtualThread = getStartVirtualThreadMethod();
Thread virtualThread = (Thread) startVirtualThread.invoke(null, new Runnable() {
@Override
public void run() {
}
});
assertTrue(PlatformDependent.isVirtualThread(virtualThread));
}
@Test
public void testGetVirtualThreadCheckMethod() throws Throwable {
if (PlatformDependent.javaVersion() < 19) {
assertNull(IS_VIRTUAL_THREAD_METHOD_HANDLE);
} else {
assumeTrue(PlatformDependent.javaVersion() >= 21);
assumeTrue(IS_VIRTUAL_THREAD_METHOD_HANDLE != null);
boolean isVirtual = (boolean) IS_VIRTUAL_THREAD_METHOD_HANDLE.invokeExact(Thread.currentThread());
assertFalse(isVirtual);
Method startVirtualThread = getStartVirtualThreadMethod();
Thread virtualThread = (Thread) startVirtualThread.invoke(null, new Runnable() {
@Override
public void run() {
}
});
isVirtual = (boolean) IS_VIRTUAL_THREAD_METHOD_HANDLE.invokeExact(virtualThread);
assertTrue(isVirtual);
}
}
private Method getStartVirtualThreadMethod() throws NoSuchMethodException {
return Thread.class.getMethod("startVirtualThread", Runnable.class);
}
private static class SubThread extends Thread {
// For test
}
private static class SubOfSubThread extends SubThread {
// For test
}
Source
Frequently Asked Questions
What is the VirtualThreadCheckTest class?
VirtualThreadCheckTest is a class in the netty codebase, defined in common/src/test/java/io/netty/util/internal/VirtualThreadCheckTest.java.
Where is VirtualThreadCheckTest defined?
VirtualThreadCheckTest is defined in common/src/test/java/io/netty/util/internal/VirtualThreadCheckTest.java at line 30.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free