`
leoizumi
  • 浏览: 92994 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

写一个简单的java 定时器

    博客分类:
  • J2EE
阅读更多

1. 首先写一个获取时间,并格式化的操作类,使用单例模式

 

import java.text.SimpleDateFormat; 

public class TimerGet {

	private static TimerGet instance;

	public static TimerGet getInstance() {
		return instance;
	}

	public static void setInstance(TimerGet instance) {
		TimerGet.instance = instance;
	}
	
	/**
	 * 打印数据功能
	 */
	public static void getTime(){  
        long begin = System.currentTimeMillis();  
        SimpleDateFormat formatter = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");         
        String timeStr_2 = formatter.format(System.currentTimeMillis());  
        long end = System.currentTimeMillis();  
        System.out.println(timeStr_2);   
    }  
	
	/**
	 * 返回数据功能
	 * @return
	 */
	public static String getTimeReturn(){  
   
        SimpleDateFormat formatter = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");         
        String timeStr_2 = formatter.format(System.currentTimeMillis());  
        return timeStr_2;
           
    }  
}

 

 

2.  写定时器的具体类,这里主要用到Timer

 

import java.io.File;
import java.io.FileWriter;
import java.util.Timer;
import java.util.TimerTask;

public class MyTimer3 {
	
	static class MyTask extends TimerTask {
	  
		private int threadId;
		
		public void run() {
			taskHandler(this.threadId);
		}
		
		public static void writeFile(String s) {
			FileWriter out;
			File file = new File("E://WorkSpace//test//test_timeThread_07//Test.log");
			try {
				out = new FileWriter(file,true);
	            out.write(s+"\r\n");	
	            out.flush();
	            out.close();
			}catch(Exception e) {
				e.printStackTrace();
			}
		}
		
		private static synchronized void taskHandler(int threadId) {
			 System.out.println(TimerGet.getInstance().getTimeReturn());
		     writeFile("time: "+ TimerGet.getInstance().getTimeReturn());
		}
		
	}
	
	public static void main(String[] args) {
		Timer timer = new Timer();
		new MyTask().writeFile("任务开始");
		long begTime = 0;
		long endTime = 0;
		begTime = System.currentTimeMillis();
		System.out.println("任务开始");
	    timer.schedule(new MyTask(), 0,1000);
		while(true) {
			
			try{
			    int ch = System.in.read();
			    if(ch-'c'==0) {
				timer.cancel();
				endTime = System.currentTimeMillis();
				String endStr = "任务暂停,总耗时 : "+(endTime-begTime) + " 毫秒";
				new MyTask().writeFile(endStr);
				new MyTask().writeFile("--------------------end");
				System.out.println(endStr);
			}
		  }catch (Exception e) {
			    e.printStackTrace();
		}
		}
	}
}
 
分享到:
评论

相关推荐

    Java定时器的使用 Java程序

    Java定时器(java.util.Timer)是Java标准库中用于调度任务执行的重要工具,它允许我们按照预设的时间间隔执行特定的任务。在Java程序设计中,定时器常常用于实现周期性的任务,比如定时备份数据、定时检查系统状态...

    Java定时器

    总结来说,Java定时器是Java编程中的一个重要概念,它结合`Timer`和`TimerTask`类可以实现各种定时任务,而在`Swing`环境中,`Swing Timer`提供了更加便捷且线程安全的解决方案。对于Java初学者来说,理解和掌握...

    JAVA定时器JAVA定时器.pdf

    Quartz框架是一个开源的任务调度器框架,提供了强大的任务调度功能。Quartz框架可以与Spring框架集成,实现自动执行任务的功能。在使用Quartz框架时,需要导入Quartz框架的JAR包,例如quartz-1.6.2.jar。 3. 定时器...

    java 定时器(Timer)

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

    java定时器的使用

    在应用开发中,经常需要一些周期性的操作,比如每5分钟执行某一操作等。 对于这样的操作最方便、高效的实现方式就是使用java.util.Timer工具类。

    java定时器

    java定时器,import java.util.Calendar; import java.util.Date; import java.util.Timer; import java.util.TimerTask; 规定每天几点执行一次

    java 定时器 spring 定时器

    总结一下,Java定时器虽然简单易用,但在复杂应用中可能显得不足。Spring定时器通过提供丰富的配置选项和强大的`TaskScheduler`接口,成为企业级应用中定时任务的首选。使用Spring定时器,开发者能够更高效地管理和...

    java定时器设置及停止的方法

    首先,`java.util.Timer`是一个工具类,它允许程序员安排任务在后台线程中执行。`TimerTask`是`Timer`调度的任务,是一个抽象类,你需要继承并实现`run()`方法来定义要定时执行的逻辑。以下是如何使用`Timer`和`...

    JAVA定时器JAVA定时器

    JAVA定时器,只要服务开启,就能指定某些代码在某个时刻执行,例如:监狱里罪犯的余刑天数,每天都要减少,就可以设置一个定时器在每天的23:59:59来执行减少余刑天数的天。

    Java定时器框架(Quartz)

    Java定时器框架Quartz是Java开发中用于任务调度的一个强大工具,它允许开发者精确地控制任务的执行时间,包括一次性任务和周期性任务。Quartz以其灵活性和稳定性,在企业级应用中广泛使用,尤其在需要定期执行后台...

    Java定时器简例

    ### Java定时器实现详解...综上所述,这个Java定时器实现通过组合`Timer`、`Clock`和`Task`等类,构建了一个灵活、可扩展的定时任务执行框架。开发者可以根据具体需求调整任务逻辑和执行频率,实现各种复杂的定时功能。

    JAVA中定时器的使用

    Timer 类用于创建一个新的定时器,而 TimerTask 类则用于定义要执行的任务。 使用 Timer 和 TimerTask 实现定时器时,需要继承 TimerTask 类,并重写 run 方法以定义要执行的任务。然后,使用 Timer 的 schedule ...

    java定时器服务!!

    Java定时器服务是Java平台中用于执行定时任务的关键组件,它允许开发者安排未来或定期的任务执行。在Java中,我们通常使用`java.util.Timer`类和`java.util.TimerTask`类来实现定时服务。这两个类提供了创建、调度和...

    java web定时器例子

    Java Web定时器主要指的是在Java Web应用程序中实现定时任务的功能,这在许多业务场景中都是必要的,例如数据备份、报表生成、邮件发送等。在Java中,我们可以利用内置的`java.util.Timer`类或者Spring框架的`@...

    Java创建定时器.rar

    这个“Java创建定时器.rar”压缩包中的代码示例,显然是一个展示了如何在Java中利用定时器实现特定功能的实例。这个例子中,程序会绘制数字的Canvas对象,并通过定时器更新显示的数字,同时使用了生成随机数的For...

    简单易用的java定时器scheduler,有完整配置说明

    标题中提到的是一个“简单易用”的Java定时器,可能是指一个简化版或自定义实现的Scheduler,它只需要一个源程序和一个配置文件就能运行。这样的设计是为了方便开发者快速集成和配置,降低学习曲线,提高开发效率。 ...

    Java后台定时器代码

    `java.util.Timer` 类是Java标准库中的一个基础定时器,它可以调度定时任务的执行。创建一个`Timer`对象后,你可以通过调用`schedule(TimerTask task, long delay)`或`schedule(TimerTask task, Date firstTime, ...

    java 定时器

    Java定时器,全称为`java.util.Timer`类和配套的`TimerTask`类,是Java标准库中提供的一种定时执行任务的工具。这个强大的计时器功能强大,尤其适合于批量处理任务,如数据同步、日志清理等场景,因此在IT行业中被...

    java定时器.rar

    Java定时器(Timer)是Java语言中用于调度任务的一个重要工具,它可以帮助我们在特定时间执行一次或重复执行某个任务。这个“java定时器.rar”压缩包可能包含了关于如何使用Java定时器的相关示例代码和教程。 Java...

Global site tag (gtag.js) - Google Analytics