实现定时执行指定程序的功能:
1.使用Timer和TimerTask
import java.util.Timer;
import java.util.TimerTask;
public class Test {
public static void main(String[] args) {
Timer timer = new Timer();
timer.schedule(new Task(), 1000, 1000);
}
static class Task extends TimerTask {
@Override
public void run() {
System.out.println("The timer task is running!");
}
}
}
2.使用java.util.concurrent包中的类
import static java.util.concurrent.TimeUnit.SECONDS;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.ScheduledFuture;
public class Test {
public static void main(String[] args) {
final ScheduledExecutorService scheduler = Executors
.newScheduledThreadPool(2);
final Runnable beeper = new Runnable() {
public void run() {
System.out.println("The scheduler task is running!");
}
};
//1秒后执行,每1秒执行一次
final ScheduledFuture<?> beeperHandler = scheduler.scheduleAtFixedRate(
beeper, 1, 1, SECONDS);
//2秒后执行,执行完成后间隔5秒在执行下一次
final ScheduledFuture<?> beeperHandler2 = scheduler.scheduleWithFixedDelay(
beeper, 2, 5, SECONDS);
}
}
以上例子2中的定时与延时执行功能有些类似于Javascript的setInterval和setTimeout
在例子2中加入如下代码,可在指定30秒后终止排程
scheduler.schedule(new Runnable() {
public void run() {
beeperHandler.cancel(true);
scheduler.shutdown();
}
}, 30, SECONDS);
分享到:
相关推荐
Spring 排程(Scheduling)技术是Spring框架中用于实现定时任务的重要功能,它允许开发者在应用程序中安排任务定期执行,以满足各种自动化需求,如数据同步、日志清理、定时报告生成等。排程技术的核心在于管理和...
在"quartz web 排程"的例子中,我们可以看到它是一个简化版的定时任务实现,便于快速应用到自己的项目中。你只需关注execute方法,并在其中添加自己的业务逻辑,Quartz会按照设定的调度规则自动执行这个方法。 1. *...
在“scheduler-android”项目中,我们看到一个专门为Android设备设计的排程器应用,它利用了Java语言的优势来实现高效、可靠的计划任务功能。下面将详细介绍这个项目及其相关知识点。 1. **Android 应用程序架构** ...
Servlet 是 Java 提供的一种用于构建动态 Web 应用的技术,它可以接收和响应来自客户端的请求。在这个例子中,Servlet 负责从数据库中获取日程事件数据,并以 JSON 格式返回给前端。 5. **Servlet 3.0 注解**:`@...
作者:Ngosa Kangwa学生编号:213021404 ###项目名称:Eat See Here电影院管理系统### 背景:该应用程序将用于管理电影院的大多数活动。... ###问题:电影院目前使用手动计费和排程系统,效率很低而且难以维护###
- **适用场景**:活动选择问题适用于多种实际场景,例如会议安排、课程表排程等需要避免时间冲突的情况。 - **扩展**:可以通过对该算法进行扩展来解决更复杂的问题,例如考虑每个活动的重要性或收益等其他因素。 ...
于涉足应用程序其他部分的数据。 2.2.3 消息 一个单独的对象一般不十分有用,而作为一员出现在包含有许多其他对象的大程序或应 用程序之中,通过这些对象的相互作用,程序员可实现高层次的操作和更负责...
置换流水车间调度问题(Permutation Flow Shop Scheduling Problem,PFSP)是一类经典的排程问题,其中有多个流水线车间,每个车间都包含多个工作站,每个车间上的工作站都要处理一系列任务。任务的处理顺序和所分配...
Spring Boot是一个快速开发Java应用程序的框架,它简化了配置和启动过程。在多线程环境中,Spring Boot提供了强大的支持,可以通过AOP(面向切面编程)和Spring Task来管理任务调度和并发处理。在这个实例中,我们将...
- **软件需求**:支持Java 8及以上版本,可以集成到任何基于Java的应用程序中。 ##### 1.3 规划问题 规划问题通常指的是需要优化资源分配的一类问题,这类问题的特点包括: - **NP-完全或NP难**:规划问题往往...
这可能包括使用编程语言(如Python或Java)编写脚本,来读取文件内容,建立索引,并提供查询接口以执行搜索操作。 标签“全文搜索”和“搜索_程”进一步强调了这是一个关于构建搜索程序的教程,重点在于处理文本...
标题中的"Algorithm_hash归并快排算法_"表明我们要讨论的是一个与哈希(Hash)合并和快速排序(Quick Sort)算法相关的编程实现...对于深入理解这些算法及其在量化投资策略中的应用,研究这些源码和文档将非常有价值。
在供应链管理方面,Oracle e-Business Supply Chain Suite提供了全面的功能,包括需求计划、先进供应链计划、全球可用性检查服务器、制造排程、风险优化等。这些工具允许企业根据市场需求动态调整生产计划,优化库存...
Oracle e-Business Supply Chain Suite提供了全面的供应链管理功能,如需求计划、先进供应链计划、全球可用性检查(Global ATP Server)、制造排程和风险管理等。在石化行业中,这些功能可以帮助企业更准确地预测...
在解决组合优化问题如排程、设计优化等领域效果显著。 5. **粒子群优化**:粒子群优化是基于群体智能的优化方法,每个粒子代表一个解,通过迭代更新找到最优解。适用于解决连续和离散优化问题。 6. **蒙特卡洛方法...
- **应用场景**: 如Java EE中的Spring框架、Android开发中的Jetpack组件等。 #### 3. Architecture (架构、系统架构) - **定义**: 架构指的是一种高层次的设计,用于定义系统的组织结构以及各个组成部分之间的相互...
简单邮件 HTML 邮件 内嵌图片或附档 排程 Spring则对 java.util.Timer提供了抽象封装,让您可以善用Spring的容器管理功能,而Spring对Quartz进行了封装,让它在使用上更加方便。 使用 ...
我们需要掌握c#中的变量、数据类型、运算符、条件、分攴、循环等基C排基础语法,这些 语言层血的知识是我们编写所有程序的基础,因此必须牢固掌握。 核心技能部分 1.1Net与C#概述 1.1.1Net与C#的产生与应用 1. Anders ...
1. **Application (应用程式/应用、应用程序)** - 定义:一个设计用来完成特定任务或一组任务的软件。 - 示例:Microsoft Word 是一款用于文字处理的应用程序。 2. **Application Framework (应用程式框架/应用...