我正在使用 JAVA VisualVM 来分析我的程序并获得有关线程执行的以下结果:
我不熟悉 JAVA 如何处理多线程,以下是我的问题:
1.绿条是否表示线程在相应的时间间隔内实际运行?如果是这样,怎么可能同时运行的线程数大于处理器数(我的笔记本电脑上是 8 个)?
2.是否可以检查线程在哪个处理器上运行?
非常感谢!
答案 0 :(得分:0)
是否可以检查线程在哪个处理器上运行?
不确定 VisualVM,但您可以使用 jstack utility 获取 Java 线程的操作系统线程 ID。
然后,您可以通过操作系统提供的任何方法找出线程在哪些处理器上运行。