解决方案 »

  1.   

    同一个操作可以用lockThread.Sleep也可以、
      

  2.   

    两个都能用,完全取悦于你如何使用方便,两者都是执行完任务后开始让出指定时间CPU,但两者也有细微区别,Timer是每隔指定时间开始执行,无论前一次执行了多久或者又没执行完成,当然你可以通过代码自己控制,但Timer本身是无视前一次的执行结果的。Thread.Sleep则是等你前一次代码执行到Thread.Sleep才开始计算时间。综上所述,楼主还是要根据实际需求来判断使用哪个。
      

  3.   

    当然用Timer,Sleep是很呆的做法。
      

  4.   

    嗯,实际的需求就是上面提到的,所以现在在想问问大家用哪个好,好在哪里,得考虑扩展。我所知道
    timer:
    按时间周期执行,即使上一次没执行完也会去执行,可以通过单例及静态变量来防止并发。不容易被阻塞。开发貌似需要加很多timer控制类。thread.sleep:
    按等待时间执行,执行完一次才进入等待,等待的时候可能被其他优先级高的线程阻塞,到时sleep够时间也不一定能唤醒。但保证了串行。