我希望在Java中测量线程执行时间。目前我正在监控线程的启动和结束时间,但我认为这不是很准确,因为线程在执行期间可能会被暂停。
我希望在Java中测量线程执行时间。目前我正在监控线程的启动和结束时间,但我认为这不是很准确,因为线程在执行期间可能会被暂停。
Java MXBeans可以提供每个线程的CPU时间:
import java.lang.management.ManagementFactory;
import java.lang.management.ThreadMXBean;
long nanos = ManagementFactory.getThreadMXBean().getThreadCpuTime(Thread.currentThread().getId());
这并不是一件简单的事情。你最好使用一个能够累积实际CPU周期的性能分析器。