站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2SE 专题定时器消耗性能么??

定时器消耗性能么??

摘要: 定时器消耗性能么??


问题如题目。
写了个定时器在tomcat中执行,不知道这个消耗性能不?
我个人觉得不是很耗性能。
定时器原理应该是相应中断请求。
请高手回答。
6点前结帖子。来者有分!


首先肯定它会消耗性能,至于消耗到什么程度,跟你在定时器里面做的动作的过少成正比


我动作不多,每秒打印出东西!


定时间隔不要太大就可以了


不要太小!


我个人的理解跟楼主一样,定时器本身应该不消耗什么,只是向虚拟机做个注册,又不是轮询。至于在定时执行的方法里面做什么,那是另外一个问题。


看看源代码吧,不要臆断了。定时器定时的终极原理是Object.wait(int seconds) 所以不是轮询也不是向虚拟机做个注册,至少这样说太笼统。用wait方法本身不消耗性能。


定时器不管怎么说也是要消耗资源的。


间隔小的话还是蛮消耗的


肯定消耗。


看执行的效果了,可以达到效果,那就用就是了,管它消耗多少呢


up


arbiter 说得对,“定时器定时的终极原理是Object.wait(int seconds)”。

不过,这只是“JAVA 语言”层面的终极原理,JVM 内部又是怎么实现这个 Object.wait(int seconds) 的呢?我不想去看源代码了,猜测一下,无非是启用了操作系统级的某种定时机制。

总之,它应该是一种类似于中断请求的方式,基本上不消耗 CPU 资源。(当然,不可能完全不消耗资源,任何一个机器指令都会消耗一定的资源)

使用 timer 更应该关心的是 timer handler 里面做的事情,如果定时频度比较高,就尽量不要做太多的事情,还要考虑重复触发(就是前一个还没执行完,下一次时间又到了)的算法。而不必太在意 timer 本身的开销。


不耗,走系统的时钟中断的玩意不耗。


定时器本身应该不怎么耗资源
主要看你的定时器内部它定时做的事情是什么,如果是很复杂的事情,又想让系统间隔很短就去做一次,那么这是很耗资源的


同意楼上的


原来以为定时器是要某个监视器一样不断的询问系统 以为会很耗东西!


↑返回目录
前一篇: 在XP下为什么连不上SQL server2000?
后一篇: 哪位大侠能简单说明一下 Math.random() 和 java.util.Random 的区别吗?