下面两行获取线程ID的代码有什么区别?
Thread.currentThread().getId();
Kernel32.INSTANCE.GetCurrentThreadId();
最佳答案
为了抽象底层平台,jvm 位于操作系统之上。 W32API
是由 java 实现的操作系统接口(interface)/库,Kernel32.INSTANCE.GetCurrentThreadId()
给出调用该行的操作系统线程的 ID。
Java语言提供了多线程机制。 Thread.currentThread().getId()
为您提供 jvm 线程的 id。
根据 W32API 的实现(Kernel32 是其中之一)以及操作系统线程可能会也可能不会映射到 vm 线程的其他一些因素。
关于java - Thread.currentThread().getId() 和 Kernel32.INSTANCE.GetCurrentThreadId() 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37428872/