`

任务调度

    博客分类:
  • Java
阅读更多
java.util.Timer定时器,实际上是个线程,定时调度所拥有的TimerTasks。
一个TimerTask实际上就是一个拥有run方法的类,需要定时执行的代码放到run方法体内,TimerTask一般是以匿名类的方式创建。

一个完整的Timer:
Java代码
java.util.Timer timer = new java.util.Timer(true);   
// true 说明这个timer以daemon方式运行(优先级低,   
// 程序结束timer也自动结束),注意,javax.swing   
// 包中也有一个Timer类,如果import中用到swing包,   
// 要注意名字的冲突。   
 
TimerTask task = new TimerTask() {   
public void run() {   
... //每次需要执行的代码放到这里面。   
}   
};   
 
//以下是几种调度task的方法:   
 
timer.schedule(task, time);   
// time为Date类型:在指定时间执行一次。   
 
timer.schedule(task, firstTime, period);   
// firstTime为Date类型,period为long   
// 从firstTime时刻开始,每隔period毫秒执行一次。   
 
timer.schedule(task, delay)   
// delay 为long类型:从现在起过delay毫秒执行一次   
 
timer.schedule(task, delay, period)   
// delay为long,period为long:从现在起过delay毫秒以后,每隔period   
// 毫秒执行一次。 

java.util.Timer timer = new java.util.Timer(true);
// true 说明这个timer以daemon方式运行(优先级低,
// 程序结束timer也自动结束),注意,javax.swing
// 包中也有一个Timer类,如果import中用到swing包,
// 要注意名字的冲突。

TimerTask task = new TimerTask() {
public void run() {
... //每次需要执行的代码放到这里面。
}
};

//以下是几种调度task的方法:

timer.schedule(task, time);
// time为Date类型:在指定时间执行一次。

timer.schedule(task, firstTime, period);
// firstTime为Date类型,period为long
// 从firstTime时刻开始,每隔period毫秒执行一次。

timer.schedule(task, delay)
// delay 为long类型:从现在起过delay毫秒执行一次

timer.schedule(task, delay, period)
// delay为long,period为long:从现在起过delay毫秒以后,每隔period
// 毫秒执行一次。

  
   

下面是一个完整的例子,由两个类组成,一个定制任务,一个调用java.util.Timer

定制任务:
Java代码
import java.util.Timer;  
 
public class TimerTaskTest extends java.util.TimerTask{  
 
@Override 
public void run() {  
   // TODO Auto-generated method stub  
   System.out.println("start");  
}  


import java.util.Timer;

public class TimerTaskTest extends java.util.TimerTask{

@Override
public void run() {
   // TODO Auto-generated method stub
   System.out.println("start");
}
}

2.调用java.util.Timer
Java代码
import java.util.Timer;  
 
public class Test {  
public static void main(String[] args){  
   Timer timer = new Timer();  
   timer.schedule(new TimerTaskTest(), 1000, 2000);  
}  
分享到:
评论

相关推荐

    任务调度,任务调度,任务调度

    在这个场景中,"任务调度,任务调度,任务调度"的标题强调了对这一主题的重视,而描述提到的"简单的任务调度池"暗示了我们正在讨论一种能够处理大量任务(例如300万个)的高效机制,而不会导致系统崩溃或性能严重...

    heft任务调度算法

    HEFT(Hierarchical Earliest Finish Time)算法是一种在并行计算和分布式系统中广泛使用的任务调度策略。这个算法的核心目标是最大化系统效率,通过优化任务的执行顺序来减少整体的完成时间。它特别适用于处理计算...

    算法实验3-任务调度

    在计算机科学领域,任务调度是操作系统中的核心组件之一,它负责决定如何在多任务环境中分配处理器资源。在“算法实验3-任务调度”中,我们关注的是一个特定类型的调度问题,即在单处理器系统上处理具有期限和惩罚的...

    UCOSII实验-任务调度.rar

    《UCOSII实验-任务调度》 UCOSII,全称uC/OS-II,是一款广泛应用的嵌入式实时操作系统(RTOS),它以其高效、稳定和可移植性著称。在UCOSII中,任务调度是其核心功能之一,本实验将深入探讨这一主题。 一、UCOSII...

    51内核 任务调度器实例(合作式)

    在嵌入式系统设计中,任务调度是操作系统的核心部分,特别是在51单片机这种资源有限的微控制器上。本文将深入探讨合作式任务调度器的实现,它是一种早期的多任务处理方式,广泛应用于简单且实时性要求不高的场景。 ...

    51单片机简易OS任务调度

    在本文中,我们将深入探讨如何在51单片机上实现一个简单的操作系统(OS),主要关注任务调度。这个话题基于KEIL开发环境和C51编程语言,这是一门专门针对8051系列单片机的编程语言。我们将讨论基本的OS概念,任务...

    定时器 任务调度器 定时器 任务调度器

    定时器和任务调度器在IT领域中扮演着至关重要的角色,尤其在系统自动化、后台服务管理和数据处理等场景中。本文将深入探讨定时器与任务调度器的概念、用途、常见实现方式以及它们在实际应用中的具体操作。 定时器...

    c++ 任务调度demo

    在IT行业中,任务调度是操作系统的核心功能之一,它在编程领域也有着广泛的应用,尤其是在并发和多线程编程中。本篇文章将详细讲解基于C++的任务调度器,并以GitHub上的开源项目"Bosma/Scheduler"作为参考,探讨其...

    asp.net任务调度

    简单任务调度平台,用于.net dll,exe的任务的挂载,任务的隔离,调度执行,访问权限控制,监控,管理,日志,错误预警,性能分析等。 平台基于quartz.net进行任务调度功能开发,采用C#代码编写, 支持corn表达式和第...

    UCOSII任务调度

    任务调度是UCOSII的核心功能之一,它确保了系统的多任务并发执行和高效运行。以下是对UCOSII任务调度的详细说明: 1. **任务与优先级**: 在UCOSII中,任务是程序执行的基本单元。每个任务都有一个独立的执行路径...

    XXL-JOB分布式任务调度系统培训PPT

    "XXL-JOB分布式任务调度系统培训PPT" XXL-JOB分布式任务调度系统是当前 Java 生态中的一种流行的分布式任务调度系统。它提供了多种功能特性,如支持 cron 表达式、支持多种任务类型、支持任务优先级、支持任务依赖...

    Spring实现任务调度

    在IT行业中,任务调度是一项关键功能,特别是在大型企业级应用中,它允许系统在特定时间自动执行预定的任务。Spring框架提供了强大的任务调度能力,使得开发者能够轻松地在Java环境中实现这一功能。本篇将深入探讨...

    基于遗传算法任务调度算法

    【基于遗传算法任务调度算法】是一种优化方法,用于解决复杂问题中的任务分配和调度问题。在本项目中,这个算法是用MATLAB编程语言实现的,特别针对工件设计过程的任务调度。MATLAB是一种强大的计算环境,适合进行...

    TIMER_轮询_裸机定时器任务调度_

    在嵌入式系统开发中,"TIMER_轮询_裸机定时器任务调度_"是一个重要的概念,它涉及到如何在没有操作系统支持的环境下有效地管理和执行多个定时任务。在这样的环境中,通常被称为“裸机”编程,因为没有操作系统来帮助...

    自己动手写任务调度平台项目源代码

    在IT领域,任务调度平台是不可或缺的一个组成部分,它在分布式系统、大数据处理、自动化运维等领域发挥着关键作用。本文将围绕“自己动手写任务调度平台项目源代码”这一主题,探讨任务调度平台的核心概念、设计原理...

    论文研究-基于排队模型和强化学习的动态云任务调度算法 .pdf

    在本研究中,作者提出了一种基于排队模型和强化学习的动态云任务调度算法,名为QTPRL(Dynamic Cloud Task Scheduling Algorithm Based on Queue Theory and Pre-processed Reinforcement Learning)。该算法的创新...

    spring 任务调度实现代码例子

    在Spring框架中,任务调度是一项重要的功能,它允许开发者安排任务在特定的时间点或周期性地执行。这个“spring 任务调度实现代码例子”很可能是包含了一些示例代码,用于演示如何在Spring应用中配置和使用任务调度...

    java实现任务调度

    Java实现任务调度的过程中,涉及到的关键技术和工具包括Quartz调度器和Spring框架。Quartz是一个功能强大的开源作业调度系统,它可以用来整合到Java应用程序中,以实现作业调度的功能。Spring框架是一个广泛使用的...

    用C语言实现任务调度的方式

    在IT领域,任务调度是操作系统的核心功能之一,特别是在实时操作系统(RTOS)中。然而,对于初学者来说,直接接触RTOS可能会感到困难。本主题将探讨如何使用C语言模拟任务调度,尽管这不是一个真正的RTOS实现,但能...

Global site tag (gtag.js) - Google Analytics