timer1.Interval =十分钟
timer1_Elapsed{for(int i=0;i<1000000000000000000000000000;i++)
}
例如 当第一次运行程序时候 在19:001 开始循环类加时 是19:00 还是19:10
2 当timer 10中后开始 循环 运行到 1=99999999999999999的时候
这时候 i是从0开始 重新运算 还是要等 i运行完毕 即i=1000000000000000000000000000 的时候 ???

解决方案 »

  1.   

    两次的i没关系...
    不会相互影响的.LZ 去看看关于函数的实现方法的资料就清楚了.
      

  2.   


    我没说两次的i有关系
    我意思说
    是中断i循环
    还是等i循环结束后 在重新循环
      

  3.   

    那要看你用的是哪个timer.
    System.Windows.Forms.Timer的话是运行在UI线程.
    整个线程将会不响应.自然也就不会处理接下来的Timer消息.
    如果是System.Thread.Timer.
    每次都发生在独立的线程里.
    是不会相互影响的.
      

  4.   

    System.Timers.Timertimer1.Interval =十分钟 
    timer1_Elapsed {for(int i=0;i <1000000000000000000000000000;i++) 

    例如 当第一次运行程序时候 在19:00 1 开始循环类加时 是19:00 还是19:10 
    2 当timer循环 运行到 1=9999999999的时候   10分钟到了 再一次  Elapsed 
    这时候 i是从0开始 重新运算 还是要等 i运行完毕 即i=1000000000000000000000000000 的时候  ???
      

  5.   

    .NET一共有3个Timer: 
    1.   System.Windows.Forms.Timer: 
          通过Windows消息出发WM_TIMR消息,Tick事件总是触发在程序的主线程(UIThread)上,不是新线程。如果主线程忙(例如上一次的Tick还没有执行完),消息就得不到及时处理,线程会一直等待前一个任务完成才能进行下一个。 2.   System.Timer.Timer和System.Threading.Timer: 
          前者是通过调用Windows的WaitableTimer实现的,后者是.NET的简单的Thread.Sleep实现。两个实现都是用了.NET线程池(ThreadPool),所以Elapsed事件会在ThreadPool里选择一个线程执行(不一定是新线程,但肯定不是建立Timer的线程)。这样做的好处是如果前一次Elapsed没有完成,后一次的可以从ThreadPool里选一个新的线程开始执行。(在新线程上直接开始)。 
      

  6.   

    .NET一共有3个Timer: 
    1.   System.Windows.Forms.Timer: 
          通过Windows消息出发WM_TIMR消息,Tick事件总是触发在程序的主线程(UIThread)上,不是新线程。如果主线程忙(例如上一次的Tick还没有执行完),消息就得不到及时处理,线程会一直等待前一个任务完成才能进行下一个。 2.   System.Timer.Timer和System.Threading.Timer: 
          前者是通过调用Windows的WaitableTimer实现的,后者是.NET的简单的Thread.Sleep实现。两个实现都是用了.NET线程池(ThreadPool),所以Elapsed事件会在ThreadPool里选择一个线程执行(不一定是新线程,但肯定不是建立Timer的线程)。这样做的好处是如果前一次Elapsed没有完成,后一次的可以从ThreadPool里选一个新的线程开始执行。(在新线程上直接开始)。