当前位置:  技术问答>java相关

我想在java程序中加一个定时器

    来源: 互联网  发布时间:2017-03-19

    本文导语:  我想在java程序中加一个定时器每隔30秒执行一次,如何实现急急急急 | import java.util.*; public class TimerTest {   public TimerTest() {  }   public static void main(String argv[]) {     try {      ...

我想在java程序中加一个定时器每隔30秒执行一次,如何实现急急急急

|
import java.util.*;

public class TimerTest {

  public TimerTest() {  }

  public static void main(String argv[]) {
    try {
      Timer timer = new Timer();
      job j = new job();

      // 每 3 秒执行一次 job 里面的run。
      timer.scheduleAtFixedRate(j, new Date(), 3000l);
      int i = 0;
      while (true) {
        // 先睡 2 秒再说……
        Thread.sleep(3000l);
        i++;
        System.out.println("我正在休息……");
        if (i==5) {
          // 停止记时
          timer.cancel();
          System.out.println("取消定时器的工作。");
        }
        //中断 while 循环
        if (i==7)
          break;
      }
    } catch(Exception e) {
      System.out.println(e.toString());
    }
  }
}

class job extends TimerTask {
  public void run() {
    System.out.println("定时器正在运行,执行相关的任务……");
  }
}

|
import java.nio.channels.*;
import java.io.*;
import java.util.*;
public class test
{
    public void demo() throws Exception
    {
        long delay = 8000; 
        java.util.Timer t = new java.util.Timer();
        try
        {
            t.schedule(new TimerTask(){ 
                        public void run()//这里面加上你要干的事情
                        {
                         //System.out.println("go to play cs");
                            
                        }
                      },delay); //delay是你要设定的时间间隔
      }
      catch(Exception e)
      {
        System.out.println(e.toString());
      }
    } 
    
    private static void loopTime() throws Exception
    {    
          long delay = 8000; 
     java.util.Date thisTime=new java.util.Date();
     java.util.Date lastTime=new java.util.Date();
try
         {
   lastTime.setTime(System.currentTimeMillis());
   while (true)
   {
       try
       {
          thisTime.setTime(System.currentTimeMillis()); 
 Thread.sleep(delay);
 //调用定时任务
                  //这里加上要干的事情
 System.out.println("go to play cs again");
 lastTime.setTime(thisTime.getTime());
      }
      catch (InterruptedException e)
     {
     }
         }
   }
   catch(Exception e) 
   {
      
   }
}
public static void main(String args[])
{
test a=new test();
try{
a.demo();
a.loopTime();
         }
catch(Exception e)
         {
         }

    }
}

这程序中的两个方法都能实现你想要的功能,不过程序运行时,只需要一个就可以了。你可以将我的代码编译运行,结果如下:
go to play cs  //只会显示一次,因为sleep时进入了下一个方法,回不来了
go to play cs again
go to play cs again
go to play cs again
go to play cs again
go to play cs again
go to play cs again
go to play cs again
go to play cs again
go to play cs again
go to play cs again
go to play cs again
go to play cs again
go to play cs again
go to play cs again
go to play cs again
go to play cs again
go to play cs again
go to play cs again
go to play cs again
go to play cs again
go to play cs again
go to play cs again
go to play cs again
go to play cs again
。。。。。。。。。
。。。。。。。。。

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 为什么我在java程序里启动的一个程序在java程序关闭后,该程序的所有进程都关掉了
  • 急!请问有分析java程序性能瓶颈的工具吗?例如,统计 java 程序中函数调用次数?
  • 请问从一个java程序中如何调用另一java程序,并控制可以其状态(最小化、最大化、结束程序),还有怎样知道那个被调用的程序结束。
  • Linux下面的开发好的Java程序,如何部署到其他机器?开发好的Java图形程序,终端上能否用?等问题
  • 我用telnet登陆到linux下运行了一个java程序,在关闭了telnet后怎么能让这个java程序继续执行
  • 我用telnet登陆到linux下运行了一个java程序,在关闭了telnet后怎么能让这个java程序继续执行,请高手指点一下
  • SecureCRT上运行一个JAVA程序,该程序类似一个在WINDOWS下一直运行的CMD窗口的东西,SecureCRT关掉后,JAVA还会继续运行吗?
  • 各位大虾,为什么我的java程序能通过编译,但是在用java命令运行程序的时候却老是报错“Exception in thread "main" java.lang.NoClassDe
  • 请问Java高手,Java的优势在那里??,Java主要适合于开发哪类应用程序
  • 把java源程序生成应用程序有哪些方法?
  • 学习JAVA程序设计,有没有《WINDOWS程序设计》这样的经典书籍?
  • 我迷惑:做jsp,servlet算不算真正的JAVA程序员?要达到JAVA程序员的标准都要做哪方面的程序?
  • 请问JAVA如何定义常量实行多个JAVA程序共用?
  • 求救!!如何在java程序中调用外部非java的exe文件?
  • 请问如何在java程序中关闭其他程序?急!急!!急!!!
  • 如何设置java应用程序的风格,如java风格,和windows风格!
  • 如何通过java程序调用vb程序
  • 运行了2个java程序,怎样区分两个程序?
  • 在java控制台程序中,可以用System.exit(0);使用一个程序终止,那么在servlet中如何使一个servlet程序终止呢?
  • 请问java程序中的import为什么有的用java.….*,而有的又用java.….…,有什么区别吗?
  • java命名空间java.sql类types的类成员方法: java_object定义及介绍
  • 我想学JAVA ,是买THINK IN JAVA 还是JAVA2核心技术:卷1 好???
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: imageflavor定义及介绍
  • 如何将java.util.Date转化为java.sql.Date?数据库中Date类型对应于java的哪个Date呢
  • java命名空间java.lang.management类managementfactory的类成员方法: getcompilationmxbean定义及介绍
  • 谁有电子版的《Java编程思想第二版(Thinking in java second)》和《Java2编程详解(special edition java2)》?得到给分
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getlibrarypath定义及介绍
  • 我对JAVA一窍不通,可惜别人却给我一个Java的project,要我做一个安装程序,请问哪里有JAVA INSTALLER下载,而且我要不要安装java的sdk才能完成此项任务?
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getstarttime定义及介绍
  • 新年第一天,让我们讨论一下未来一年JAVA的发展趋势! 个人认为,JAVA将主要朝ERP和JAVA手机方面发展!
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: stringflavor定义及介绍


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3