java - 是否可以检查线程在 JAVA 中运行在哪个处理器上?
问题描述
我正在使用 JAVA VisualVM 来分析我的程序并获得以下关于线程执行的结果:
我不熟悉 JAVA 如何处理多个线程,这是我的问题:
1.绿色条是否表明线程实际上是在相应的时间间隔内运行的?如果是这样,那么同时运行的线程数怎么可能大于处理器的数量(我的笔记本电脑上是 8 个)?
2.是否可以检查线程在哪个处理器上运行?
非常感谢!
解决方案
是否可以检查线程在哪个处理器上运行?
不确定 VisualVM,但您可以使用jstack 实用程序获取 Java 线程的操作系统线程 ID 。
然后,您可以通过操作系统提供的任何方法找出线程在哪些处理器上运行。
推荐阅读
- c# - 在 C# 中获得奇怪的价值
- javascript - jsPDF:将创建的 pdf 直接打印到打印机设备
- java - 第一个控制器中第二个控制器的访问方法和标签
- python - 如何确定图像是主要是黑色还是主要是白色
- javascript - React-select multi select 在未选择任何值时更新道具
- python - Python API 错误 - 'faultstring': 'JSONThreatProtection
- c++ - 使用 c++ 和 windows API 在 windows 上更改输入法
- javascript - 将值从一个组件传递到数组 ReactJS 中的另一个值
- swift - 自定义类 UIView - 未更改
- javascript - 在Nodejs中创建ImageBitmap?