Far*_*arz 10 java cpu performance profiling wait
我正在使用JProfiler来分析我的应用程序,因此,在"CPU视图"部分中,它表明花费了超过40%的CPU时间Object.wait()
.但据我所知,在Object.wait()
CPU上没有给予等待线程.
有人可以帮助了解发生了什么以及为什么分析器显示这么多的CPU花费了Object.wait()
吗?
40%什么?假设您分析了以下代码:
for (i = 0; i < 1000; i++){
sleep(1);
}
Run Code Online (Sandbox Code Playgroud)
如果你只看 CPU 时间(不是挂钟时间),几乎所有的时间都在sleep
.
为什么?因为它的使用在所有的很少的CPU时间,但是CPU时间它被使用,nealy这一切都花在进出sleep
。
当然,如果您确实查看挂钟时间,则会发现更多时间sleep
。
任何阻塞调用也是如此,例如wait
.
归档时间: |
|
查看次数: |
3159 次 |
最近记录: |