★★高分悬赏,挑战高手★★:这个时间循环语句如何写(从8点到12点,每半小时循环一次,用c#)

解决方案 »

  1.   


    while(true) {
      if( DateTime.Now.Hour < 8 || DateTime.Now.Hour > 12) {
        break;
      } 
      //do something
      Thread.Sleep(30 * 60 * 1000);
    }
      

  2.   

    用windows 服务!while(true) {
      if( DateTime.Now.Hour < 8 || DateTime.Now.Hour > 12) {
        break;
      } 
       
    do something
      Thread.Sleep(30 * 60 * 1000);
    }
      

  3.   

    to:xxdneu(xxd) 
    to:webserv2(GIS)(CAU) 
    你们的方法不可以的,
    这样会有 uffeng(呆呆) 所说的问题
    请使用服务器定时器,这个是多线程定时器,即使上一个事件仍在进行,下一个事件还是会按时发生,
    如:执行体(例如叫FunctionA)要执行40分钟,8:00开始,那么,线程1在8:00运行FunctionA,8:30线程2又开始运行FunctionA,之后,8:40,线程1完成,返回线程池,9:00又有一个线程开始执行FunctionA(可能不是线程1,它可能因为长时间没有执行被销毁了)
      

  4.   

    这里是B/S的版面吧。 估计只要用setTime 的  JS就可以了
      

  5.   

    while(true) {
      if( DateTime.Now.Hour < 8 || DateTime.Now.Hour > 12) {
        break;
      } 
    if (DateTime.Now.Minute ==0 || DateTime.Now.Minute==30)
    {
    Thread.Sleep(30 * 60 * 1000);
    }
    }
      

  6.   

    upup
    正有楼上此想法。。