本篇文章探究下Java线程与内核线程的关系.
在Java中,一个Java的线程对应一个内核的线程,实际的业务代码是由内核线程来执行的,而Java线程只是一个傀儡....在Thread-A线程结束之后,对应的有个内核线程707也消失了,那么这个内核线程707是不是就是对应Java的Thread-A线程呢?...我们是使用strace -ff -o out java Example命令运行的程序,因此它会打印系统调用相关的信息.
707内核线程打印了Thread-A, 也就是说,内核线程707对应Java的...父线程唤醒之前阻塞的子线程
子线程被唤醒之后,执行JVM中线程的run方法
最后子线程会调用执行Java线程的run方法....同时当Java线程的run方法执行完成之后, 线程就调用exit退出了. 这里也就解释了Java线程退出之后,内核线程也会退出的原因了.