本篇文章探究下Java线程与内核线程的关系.
在Java中,一个Java的线程对应一个内核的线程,实际的业务代码是由内核线程来执行的,而Java线程只是一个傀儡....编译并运行
首先使用jvisualvm观察下线程的情况
说明: 进程ID=686
Thread-A线程在运行完成之后,就退出了,这里看到的线程是Java层面的线程,那么我们通过ps命令看下内核层面的线程情况...分别在Thread-A线程运行中和运行完成之后,通过ps -Lf 命令查看下线程....在Thread-A线程结束之后,对应的有个内核线程707也消失了,那么这个内核线程707是不是就是对应Java的Thread-A线程呢?...我们是使用strace -ff -o out java Example命令运行的程序,因此它会打印系统调用相关的信息.
707内核线程打印了Thread-A, 也就是说,内核线程707对应Java的