java怎么写定时任务( 二 )


3.java 定时任务怎么写呀对于这样的操作最方便、高效的实现方式就是使用java.util.Timer工具类 。
private java.util.Timer timer;//给你标注一下包,到时候别找错了timer = new Timer(true);timer.schedule(new java.util.TimerTask() { public void run(){ //你要定时执行的功能} }, 0, 30*1000);第一个参数是要操作的功能,一般匿名内部类,第二个参数是要设定延迟的时间,第三个参 数是周期的设定,每隔多长时间执行该操作 。更详细的内容,自己找API Timer类看看吧 。
4.java 定时任务怎么写呀对于这样的操作最方便、高效的实现方式就是使用java.util.Timer工具类 。
private java.util.Timer timer;//给你标注一下包,到时候别找错了
timer = new Timer(true);
timer.schedule(
new java.util.TimerTask() { public void run()
{ //你要定时执行的功能} }, 0, 30*1000);第一个参数是要操作的功能,一般匿名内部类,第二个参数是要设定延迟的时间,第三个参
数是周期的设定,每隔多长时间执行该操作 。
更详细的内容,自己找API Timer类看看吧
5.Java 如何实现这样的定时任务JDK中,定时器任务的执行需要两个基本的类:
java.util.Timer;
java.util.TimerTask;
要运行一个定时任务,最基本的步骤如下:
1、建立一个要执行的任务TimerTask 。
2、创建一个Timer实例,通过Timer提供的schedule()方法,将 TimerTask加入到定时器Timer中,同时设置执行的规则即可 。
当程序执行了Timer初始化代码后,Timer定时任务就会按照设置去执行 。
Timer中的schedule()方法是有多种重载格式的,以适应不同的情况 。该方法的格式如下:
void schedule(TimerTask task, Date time)
安排在指定的时间执行指定的任务 。
void schedule(TimerTask task, Date firstTime, long period)
安排指定的任务在指定的时间开始进行重复的固定延迟执行 。
void schedule(TimerTask task, long delay)
安排在指定延迟后执行指定的任务 。
void schedule(TimerTask task, long delay, long period)
安排指定的任务从指定的延迟后开始进行重复的固定延迟执行 。
Timer是线程安全的,此类可扩展到大量同时安排的任务(存在数千个都没有问题) 。其所有构造方法都启动计时器线程 。可以调用cancel() 终止此计时器,丢弃所有当前已安排的任务 。purge()从此计时器的任务队列中移除所有已取消的任务 。此类不提供实时保证:它使用 Object.wait(long) 方法来安排任务 。
TimerTask是一个抽象类,由 Timer 安排为一次执行或重复执行的任务 。它有一个抽象方法run()----计时器任务要执行的操作 。因此,每个具体的任务类都必须继承TimerTask类,并且重写run()方法 。另外它还有两个非抽象的方法:
boolean cancel()
取消此计时器任务 。
long scheduledExecutionTime()
返回此任务最近实际 执行的安排 执行时间 。
6.JAVA实现定时任务的几种方式Java 基本的定时任务,总结方法有三种:
1 创建一个thread,然后让它在while循环里一直运行着,通过sleep方法来达到定时任务的效果;
2 用Timer和TimerTask与第一种方法相比有如下好处:
当启动和去取消任务时可以控制
第一次执行任务时可以指定你想要的delay时间
3 用ScheduledExecutorService是从的java.util.concurrent里,做为并发工具类被引进的,这是最理想的定时任务实现方式,相比于上两个方法,它有以下好处:
相比于Timer的单线程,它是通过线程池的方式来执行任务的
可以很灵活的去设定第一次执行任务delay时间
提供了良好的约定,以便设定执行的时间间隔