单线程实现类似Timer的间隔处理
   Timer应该是多线程的,每到一定的时间就触发事件,不会管上一次执行是否成功   
 时间间隔大概为30秒 
 现在做法是建立一个线程,然后处理事件, 
 处理完后sleep   30   秒   
 问题在于窗体会不再响应,看任务管理器 
 应用也会显示没有反应 
 感觉好像性能不高效,有什么好的方法没有?
------解决方案--------------------sleep 30 秒的过程,你应该使用Application.DoEvents()来让系统执行当前的其它的操作,否则界面就是像“死”了一样。
------解决方案--------------------开启一个线程 
 while(true) 
 { 
    dosomething();  
     //如果是同步方式,会一直等到该方法执行完成再执行。 
      如果方法执行20s就是50s后再执行了 
    //可以采用异步解决你说的问题 在线程中对dosomething方法,开启一个异步操作,这样就达到每30s不管是否执行成功,都会重新执行dosomething()      
    sleep(30s);  
 }
------解决方案--------------------学习
------解决方案--------------------while(true) 
 { 
    new Thread(new ThreadStart(functionname)).Start(); 
    Thread.Sleep(30); 
 } 
 有可能你这个function死掉了,或者需要长时间处理,把主线程阻塞了,所以建议用新开一个线程来执行操作,主线程就不会被阻塞了
------解决方案--------------------应该是你建立线程就出了问题
------解决方案--------------------到下面来了,帮你顶上去
------解决方案--------------------应该还有更好实现的办法 
 我不太懂 
 帮顶
------解决方案--------------------Timer 触发的事件用异步来完成