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

解决方案 »

  1.   

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

  2.   

    arbiter 说得对,“定时器定时的终极原理是Object.wait(int seconds)”。不过,这只是“JAVA 语言”层面的终极原理,JVM 内部又是怎么实现这个 Object.wait(int seconds) 的呢?我不想去看源代码了,猜测一下,无非是启用了操作系统级的某种定时机制。总之,它应该是一种类似于中断请求的方式,基本上不消耗 CPU 资源。(当然,不可能完全不消耗资源,任何一个机器指令都会消耗一定的资源)使用 timer 更应该关心的是 timer handler 里面做的事情,如果定时频度比较高,就尽量不要做太多的事情,还要考虑重复触发(就是前一个还没执行完,下一次时间又到了)的算法。而不必太在意 timer 本身的开销。