0

我希望在 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 分钟后执行上述操作。

4

3 回答 3

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);
于 2009-02-26T06:56:49.803 回答
1

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

从他们的网站:

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

我在不同类型的应用程序中经常使用它来调度,并且对此非常满意。

于 2009-02-26T06:58:34.337 回答
0

你可以使用:

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

sleep() 方法需要毫秒作为参数,因此你的 15 分钟是一个巨大的数字。

于 2009-02-26T06:52:32.183 回答