我有一个阻止队列,工人从排队中夺走,然后工作约1-10ms。

我想找出一些相对的数字,即工人在给定的时间范围内有多少时间和空闲时间(例如,最后一分钟处于70%的活动)。

总结短期1毫秒的时间可能是不准确和获取纳米时间会消耗大量的性能。

是否有一些整洁的方法来执行此类任务?

我在代码中更频繁地将这些队列工人设置设置,因此我希望能够在运行时介绍瓶颈。

编辑: 我只想知道该线程是否可以正常工作。如果操作系统将线程移出处理焦点,则仍将计算。只有在等待队列锁定时,才应将其计为空闲时间。

有帮助吗?

解决方案

如何示例池中每个线程的线程()的螺纹。

这样,您就可以感觉到在新的,可运行的,封锁的,等待的,timed_waiting和终止的频率中。

我能想到的唯一其他方法是在分析工具中运行代码。 YourKit的Java Profiler非常好,并带有1530天的试用许可证...

http://www.yourkit.com/java/profiler/

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top