如何控制每天固定时间启动线程?
比如每天12点启动一个线程做某些事情。

解决方案 »

  1.   

    import java.util.Date;
    public   class   Critic      {         
      class clock implements Runnable{ public void run()  {
    Date today = new Date();
    if(today.toString().indexOf("01:18:")!=-1)
        {
        
         doSomeThing();
        
        }
    else
    {
    try {
    Thread.currentThread().sleep(1000);
    } catch (InterruptedException e) {
    // TODO Auto-generated catch block
    //e.printStackTrace();
    }
    }
    } private void doSomeThing() {
    System.out.println("a;sljd;lasjdf;lasjd;flasj;d");

    }
      
      }
      
      public void Test(){
        Thread time1 = new Thread(new clock());
        time1.start(); 
      }
      public   static   void   main(String[]   args)   {                 
                 
          new Critic().Test();
       
      
      }
      }
      

  2.   

    import java.util.Date;
    public   class   Critic      {         
      class clock implements Runnable{ public void run()  {
    Date today = new Date();
    if(today.toString().indexOf("01:18:")!=-1)
        {
        
         doSomeThing();
        
        }
    else
    {
    try {
    Thread.currentThread().sleep(1000);
    } catch (InterruptedException e) {
    // TODO Auto-generated catch block
    //e.printStackTrace();
    }
    }
    } private void doSomeThing() {
    System.out.println("a;sljd;lasjdf;lasjd;flasj;d");

    }
      
      }
      
      public void Test(){
        Thread time1 = new Thread(new clock());
        time1.start(); 
      }
      public   static   void   main(String[]   args)   {                 
                 
          new Critic().Test();
       
      
      }
      }
      

  3.   

    这是一个任务调度,可以使用JDK内置的工具:java.util.Timer和java.util.TimerTask。或者可以使用更为方便的OpenSymphony的开源框架Quartz
    http://www.opensymphony.com/quartz/Quartz可以使用Cron表达式灵活地控制任务运行的起始时间和间隔。
      

  4.   

    同意楼上的 Quartz 还是比较好用的