我想问问当线程被阻塞时,Java是否会利用更多的CPU资源,即等待锁定当前正在被另一个线程锁定的监视器。
我现在正在查看一个线程转储,其中一些线程在等待锁定监视器时被阻塞,因此我不确定这是否是造成CPU使用率高的原因。
谢谢!
编辑(2011年5月6日)我忘记提及此行为是否与Java SE 1.4.2有关。
线程会消耗内存等资源。阻塞/取消阻塞线程会产生一次性费用。如果线程每秒阻塞/取消阻塞数万次,则可能浪费大量CPU。
但是,一旦线程被阻塞,被阻塞多长时间都没有关系,就不会产生持续的成本。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句