繁体   English   中英

Java中的计时器与线程原语

[英]Timer vs Thread primitive in Java

有没有人观察到创建一个在Thread.sleep(t)的while(true)循环中运行的线程似乎比在Java中创建t的唤醒定时器消耗更多的CPU? 有JVM专业知识的人都知道为什么会这样吗? 我只在Windows和Linux x86上真正尝试过。

根据Timerdoc类Javadoc ,有一个后台线程可以完成工作:

与每个Timer对象相对应的是一个单独的后台线程,该线程用于依次执行所有Timer的任务。 计时器任务应快速完成。 如果计时器任务花费过多时间来完成,它将“占用”计时器的任务执行线程。 反过来,这可能会延迟后续任务的执行,这可能会“累加”并在有问题的任务最终完成时(以及是否)迅速连续执行。

您如何观察CPU使用率? 您是否尝试过JVM Profiler?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM