接下来的两行代码获取线程ID有什么区别?

Thread.currentThread().getId();
Kernel32.INSTANCE.GetCurrentThreadId();

最佳答案

为了抽象底层平台,jvm位于操作系统之上。 W32API是由Java实现的OS接口/库,Kernel32.INSTANCE.GetCurrentThreadId()提供了调用该行的操作系统线程的ID。
Java语言提供了用于多线程的机制。 Thread.currentThread().getId()为您提供jvm线程的ID。
取决于W32API的实现(其中Kernel32是其中的一个),以及操作系统线程可能映射或可能不映射到vm线程的其他一些因素。

10-08 09:44