当前页面: 开发资料首页 → 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 本身的开销。
不耗,走系统的时钟中断的玩意不耗。
定时器本身应该不怎么耗资源
主要看你的定时器内部它定时做的事情是什么,如果是很复杂的事情,又想让系统间隔很短就去做一次,那么这是很耗资源的
同意楼上的
原来以为定时器是要某个监视器一样不断的询问系统 以为会很耗东西!