java.util.Timer + Timertask 
和 
Thread的sleep + while(true) 
都能实现定时执行效果
请问区别,用哪个更好

解决方案 »

  1.   

    这个挺难回答,timer同样也是线程的封装。
    应该实现机理和sleep是一样的。
    但是如果一个task执行时间比较长的话,而需要制定的时间比较短的话,可能造成冲突,这时似乎sleep更好点。
    从性能上讲,thread.sleep是直接控制内核的,而timer是从线程池中获取,可能在性能上sleep稍微要好一点点。
      

  2.   

    前者比较好吧
    最近刚用了Timer和TimerTask,从定时方面来看,执行效果还是不错的
      

  3.   

    Timer 和 TimeTask 有一定的缺陷,从 JDK 5 开始,可以使用 java.util.concurrent.ScheduledThreadPoolExecutor 这个类代替。