一,创建测试环境(windows)
二,定位
正文:
测试环境如下:
建立2个线程类,一个run死循环执行大量io,另一个run死循环执行1秒睡眠。main方法开启4线程,上述每个开启2个。
高占用如下:
下载process explorer可查看进程的详细信息:
可看出,java进程里2个线程高占用cpu。
现在大概定位问题了,如果对程序很熟悉的,基本上在这一步就可以定位代码段了。
对程序不熟悉,还要进一步定位。
此处线程的TID,我们需要转化成16进制表示,下面的线程快照会用到。
以8740举例,转换成16进制是2224。
打开cmd,>