用Java开始计时器

时间:2009-02-26 06:43:02

标签: java timer

我希望在5分钟后执行特定的片段代码。我怎么能用Java做到这一点?

        out.println("<HTML>");
        out.println("<head>");
        //out.println("<frame>");
        out.println("<frameset rows=\"80%, *\" frameborder=\"0\" border=\"0\" framespacing=\"0\">");
       out.println("<frame src=\"DataCenterImage.html\" target=\"DisplayFrame\">"); 
       //out.println("Hai");
        out.println("<frame src= \"unlock.html\" target=\"DisplayFrame\">"); 
        out.println("</frameset>");
        out.println("</head>");
        out.println("</HTML>");

我希望在15分钟后完成上述操作。

3 个答案:

答案 0 :(得分:3)

在Java 1.5及更高版本中,您可以使用java.util.concurrent

ScheduledExecutorService scheduler = Executors.newSingleThreadedScheduledExecutor();
ScheduledFuture<?> f = scheduler.schedule(new Runnable() {
    public void run() {
        //Code to be executed here
    }
}, 15L, TimeUnit.MINUTES);

您可以取消执行:

f.cancel(false);

答案 1 :(得分:1)

Quartz框架也可能对您有所帮助。

从他们的网站:

  

Quartz是一个功能齐全的开源作业调度系统,可以与最小的独立应用程序集成,或者与几乎任何J2EE或J2SE应用程序一起使用 - 从最小的独立应用程序到最大的电子商务系统。 Quartz可用于创建简单或复杂的计划,以执行数十,数百甚至数万个作业;任务被定义为标准Java组件或EJB的作业。 Quartz Scheduler包含许多企业级功能,例如JTA事务和集群。

我已经将它用于不同类型的应用程序中的调度,并且非常满意。

答案 2 :(得分:0)

您可以使用:

Thread.sleep(900000);
execute code...

sleep()方法需要毫秒作为参数,因此15分钟的数字很大。