`
rrsy23
  • 浏览: 185677 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Java Timer 揭秘

阅读更多

jdk @since 1.3开始提供 Timer来提供定时调度执行任务!

 

其实这个 简直 是 ”垃圾“之急, 可是当初又的用就是不错啦!

 

假设没有这个TImer我们自己怎么做!

 

自己这既个简单的哈!

 

1.首先需要构建个任务类的抽象,让需要执行的任务继承!

2.构建个任务队列用来存放代执行的任务。

3.构建个执行线程用来运行任务队列的任务。

4.对外提高调度执行任务的类 叫定时类

5.如何定时调度啊? 比如延迟delay=1秒 每2秒执行一次??

     呵呵简单哈,调度时间去处当时时间System.currentTimeMillis()。

     这样任务执行的时间就是System.currentTimeMillis()+delay

     如何保证2秒后在执行?

     每个任务加个执行时间。当第一次执行完就计算哈下次执行时间。

     这样在执行线程 任务队列 取出任务 拿当前时间与任务的执行时间比较 。如果当前时间大于任务执行时间就执行否则继续!

 

 

呵呵 语言 描述 也许 不好懂 ,多思考!

 

 

现在看看JDK怎么做的!

 

呵呵其实一样!

TimerTask类表示执行的任务

Timer定时类用来调度内部有2个类【内部类】TimerThread执行线程和TaskQueue任务队列

Timer timer = new Timer();

/*

private TimerThread thread = new TimerThread(queue);

public Timer() {
  this("Timer-" + serialNumber());
 }

public Timer(String name) {
  thread.setName(name);
  thread.start();//TimerThread 集成Thread自然调用run方法 看看润方法什么东东

                        //run 方法就是mainLoop();明白了就是循环 判断时间
 } 线程启动 执行任务队列的任务啦!

*/

timer.schedule(new TimerTask() {
   public void run() {
        System.out.println(Thread.currentThread().getId() + "________"
      + this.scheduledExecutionTime());
   }
  }, 1000, 2000);

 

我们看看schedule方法就明白了!

里面调用:

sched(task, System.currentTimeMillis() + delay, -period);

设置好任务的执行时间加入任务队列

大家看的时候打开JDK的源代码看就明白了! java的基础很重要,否则往后走很难!
0
1
分享到:
评论
2 楼 rrsy23 2009-08-09  
呵呵在Timer这个类里面啦;
你直接看Timer这个类源代码;
1 楼 neora 2009-08-02  
您怎么找到 TimerThread  的源代码的?Jdk1.6自带的src.zip中似乎没有TimerThread.java这个文件。

相关推荐

    java timer定时器详解(附详细代码)

    Java Timer定时器详解 Java Timer定时器是Java语言中的一种常用的定时器机制,它可以帮助开发者实现一些需要在特定时间或特定间隔执行的任务。Java Timer定时器主要是通过java.util.Timer和java.util.TimerTask两个...

    java5定时器java Timer

    Java5中的`java.util.Timer`类是一个非常实用的工具,用于调度周期性的任务执行。它在多线程环境中提供了一种高效且灵活的方式来安排任务在未来某个时间点或定期执行。这个类是Java早期版本中对定时任务管理的一个...

    Timer-java.rar_java timer_timer_timer java

    在Java编程语言中,`Timer`类是Java.util包下的一个关键组件,它主要用于调度周期性的任务执行。这个`Timer`类提供了定时器的功能,能够按照预设的时间间隔执行任务,比如更新UI、执行定时检查等。在描述中提到的是...

    java_Timer_thread.rar_java thread timer_java timer_java 定时器_java

    Java中的定时器(Timer)是Java.util包下用于执行定期任务的一个类,它与线程(Thread)紧密关联,能够帮助开发者实现定时执行特定任务的需求。这个机制在多线程编程(multithreading)中非常有用,特别是在需要定期...

    java定时器(timer类使用详解)

    Java定时器,也被称为`Timer`类,是Java标准库中的一个强大工具,它允许开发者在指定的时间间隔执行任务,从而实现定时操作。这个类在`java.util`包中定义,是实现定时任务调度的核心。在本文中,我们将深入探讨`...

    java关于 Timer计时器的练习

    有个简单的java 的例子描述对java的Timer的使用的介绍,与实现的例子,方便大家学习

    JavaTimer和TimerTask实例教程Java开发

    在Java编程语言中,`Timer`和`TimerTask`是两个重要的类,它们用于调度周期性的任务执行。这两个类属于`java.util`包,提供了在后台线程中延迟执行任务或者定期执行任务的能力,这对于创建定时任务或者实现定时器...

    Java--Timer--TimerTask--.rar_java timer

    在Java编程语言中,`Timer`和`TimerTask`是两个关键类,它们用于调度周期性的任务执行。这两个类在多线程环境下尤其有用,能够帮助开发者安排在将来某一特定时间或定期执行的任务。让我们深入了解一下`Timer`和`...

    Java Timer:schedule和scheduleAtFixedRate

    在Java编程语言中,`java.util.Timer` 类是用于调度任务执行的重要工具。它允许我们按照预定的时间间隔安排任务的执行,或者在特定的未来时间点执行一次或多次任务。本篇文章将深入探讨 `Timer` 类的两个核心方法:`...

    小码农的代码(四)----------JAVA中Timer定时器与Spring定时任务

    在Java编程语言中,`Timer`类和Spring框架的定时任务是两种常见的实现定时执行任务的方式。本篇文章将深入探讨这两个主题,旨在帮助初学者理解它们的工作原理以及如何在实际项目中应用。 首先,让我们来看一下Java...

    java 定时器(Timer)

    Java定时器(Timer)是Java Swing库中的一个类,它提供了调度任务在未来某个时间执行的能力。这个类主要用于在GUI应用程序中实现定时触发某些操作,比如更新界面、执行动画或者执行周期性的后台任务。Timer类结合了...

    java中timer用法

    不过,标准的调度类 Timer 和 TimerTask 没有足够的灵活性,无法支持通常需要的计划任务类型。在本文中,Java 开发人员 Tom White 向您展示了如何构建一个简单通用的计划框架,以用于执行任意复杂的计划任务。

    java定时任务调度之Timer 简单示例

    `Timer`类是Java中用于实现定时任务调度的一个基础工具,它位于`java.util`包中。在本文中,我们将深入探讨`Timer`类的基本使用和示例,帮助你理解如何在Java程序中实现简单的定时任务。 首先,`Timer`类提供了计划...

    Java里timer执行定时任务

    ### Java里timer执行定时任务 #### 一、延时执行 在Java中,`java.util.Timer` 类提供了创建和管理定时任务的功能。如果需要在特定时间之后执行某个任务,可以利用 `Timer` 类的 `schedule()` 方法。此方法接受一...

    Timer java定时器

    Timer java定时器

    java.util.timer实现的简单定时任务

    Java.util.Timer类是Java标准库提供的一种简单但功能有限的定时任务执行机制。它允许开发者在指定的时间间隔或特定时间点执行任务,非常适合处理一次性或周期性的后台操作。本篇文章将深入探讨如何使用Timer和...

    java定时器timer制作

    Java中定时器(Timer)主要用于执行周期性的任务。通过`java.util.Timer`类,可以创建一个定时器对象,该对象负责调度事件。定时器可以用来执行两种类型的定时任务:一次性任务和周期性任务。 #### 一次性任务 一次...

    Java语言中Timer类的简洁用法.doc

    Java中的`Timer`类和`TimerTask`是用于计划任务执行的重要工具,它们在Java标准版(J2SE)和微型版(J2ME)环境中都有应用。然而,这两个类的功能相对有限,不能满足所有复杂任务调度的需求。例如,它们无法处理因...

    Java并发Timer源码分析

    Java并发Timer源码分析 Java并发编程是Java编程中一个非常重要的方面,java.util.Timer是Java中的一个基本组件,用于实现延时和周期性任务的执行。但是,Timer存在一些缺陷,如创建唯一的线程来执行所有Timer任务,...

    timer定时器(java)

    ### Timer定时器(Java) #### 知识点概述 在Java中,`Timer`类是`java.util`包的一部分,用于调度线程执行任务。它主要用于处理那些需要定期执行的任务,比如更新用户界面、发送电子邮件通知等场景。通过`Timer`...

Global site tag (gtag.js) - Google Analytics