知识大全 Java计时器Timer 使用
Posted 知
篇首语:沉舟侧畔千帆进,病树前头万木春。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Java计时器Timer 使用相关的知识,希望对你有一定的参考价值。
Java计时器Timer 使用 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
所有类型的 Java 应用程序一般都需要计划重复执行的任务
Timer类是用来执行任务的类 它接受一个TimerTask做参数
java util Timer 和 java util TimerTask 它们使程序员可以很容易地计划简单的任务
Timer
Timer最常用的是schedule执行任务的模式 它可以以两种方式执行任务:
:在某个时间(Data) :在某个固定的时间之后(int delay) 这两种方式都可以指定任务执行的频率
看个简单的例子:
Java代码
import java io IOException;
import java util Timer;
public class TimerTest
public static void main(String[] args)
Timer timer = new Timer();
timer schedule(new Job() );//在 秒后执行此任务 每次间隔 秒 如果传递一个Data参数 就可以在某个固定的时间执行这个任务
/*
//这个是用来停止此任务的 否则就一直循环执行此任务了
while( == )
try
if( == )
timer cancel();//使用这个方法退出任务
catch (IOException e)
e printStackTrace();
*/
static class Job extends java util TimerTask
@Override
public void run()
// TODO Auto generated method stub
System out println( so easy! );
import java io IOException;
import java util Timer;
public class TimerTest
public static void main(String[] args)
Timer timer = new Timer();
timer schedule(new Job() );//在 秒后执行此任务 每次间隔 秒 如果传递一个Data参数 就可以在某个固定的时间执行这个任务
/*
//这个是用来停止此任务的 否则就一直循环执行此任务了
while( == )
try
if( == )
timer cancel();//使用这个方法退出任务
catch (IOException e)
e printStackTrace();
*/
static class Job extends java util TimerTask
@Override
public void run()
// TODO Auto generated method stub
System out println( so easy! );
TimerTask 刚才在代码里提到了 TimerTask 类 TimerTask类里有一个抽象方法run() 我们把任务写到run()方法里 或由run()执行其他方法
完整的代码:
Java代码
public class TimerTest
public static void main(String[] args)
int delay= ;//延迟 秒
Timer timer=new Timer();//生成一个Timer对象
NewTask myTask=new NewTask();//初始化我们的任务
timer schedule(yourTask delay);//还有其他重载方法
class NewTask extends TimerTask//继承TimerTask类
public void run()
System out println( printing! );
public class TimerTest
public static void main(String[] args)
int delay= ;//延迟 秒
Timer timer=new Timer();//生成一个Timer对象
NewTask myTask=new NewTask();//初始化我们的任务
timer schedule(yourTask delay);//还有其他重载方法
class NewTask extends TimerTask//继承TimerTask类
public void run()
System out println( printing! );
这样这个程序就会在五秒钟后输出 printing!
Timer的功能是相当强大的 若要详细了解 可以查看帮助文档
完整案例!
现在大家看一下我写的关于实现LED滚屏显示动态信息!
web 监听
Java代码
package ving xzfw led;
import java util Timer;//定时器类
import javax servlet ServletContextEvent;
import javax servlet ServletContextListener;
import javax servlet ServletContext;
import apache log j Logger;
import ving xzfw util GetInformation;
//import ving xzfw lwsp GetConfigInfor;
public class LEDListener implements ServletContextListener
private Timer timer = null;
private Logger log = Logger getLogger(getClass());
// GetconfigInfor config = new GetconfigInfor();
GetInformation getInfo = new GetInformation( bpelConfig properties );
Integer runTime = Integer parseInt(getInfo getProperty( led TimingRunTime ));
String fileRealPath = ;
String templePath = ;
public void contextInitialized(ServletContextEvent event)
// 在这里初始化监听器 在tomcat启动的时候监听器启动 可以在这里实现定时器功能
ServletContext context = event getServletContext();
fileRealPath = context getRealPath( )
+ System getProperty( file separator ) + LEDFile
+ System getProperty( file separator );
templePath = context getRealPath( )
+ System getProperty( file separator ) + led
+ System getProperty( file separator );
timer = new Timer();
( 定时器已启动 );// 添加日志 可在tomcat日志中查看到
timer schedule(new LEDTimerTack(fileRealPath templePath) runTime);
( 已经添加任务 );
public void contextDestroyed(ServletContextEvent event) // 在这里关闭监听器 所以在这里销毁定时器
timer cancel();
( 定时器销毁 );
package ving xzfw led;
import java util Timer;//定时器类
import javax servlet ServletContextEvent;
import javax servlet ServletContextListener;
import javax servlet ServletContext;
import apache log j Logger;
import ving xzfw util GetInformation;
//import ving xzfw lwsp GetConfigInfor;
public class LEDListener implements ServletContextListener
private Timer timer = null;
private Logger log = Logger getLogger(getClass());
//GetconfigInfor config = new GetconfigInfor();
GetInformation getInfo = new GetInformation( bpelConfig properties );
Integer runTime = Integer parseInt(getInfo getProperty( led TimingRunTime ));
String fileRealPath = ;
String templePath = ;
public void contextInitialized(ServletContextEvent event)
// 在这里初始化监听器 在tomcat启动的时候监听器启动 可以在这里实现定时器功能
ServletContext context = event getServletContext();
fileRealPath = context getRealPath( )
+ System getProperty( file separator ) + LEDFile
+ System getProperty( file separator );
templePath = context getRealPath( )
+ System getProperty( file separator ) + led
+ System getProperty( file separator );
timer = new Timer();
( 定时器已启动 );// 添加日志 可在tomcat日志中查看到
timer schedule(new LEDTimerTack(fileRealPath templePath) runTime);
( 已经添加任务 );
public void contextDestroyed(ServletContextEvent event) // 在这里关闭监听器 所以在这里销毁定时器
timer cancel();
( 定时器销毁 );
LEDTimeTrack
Java代码
package ving xzfw led;
import java util TimerTask;
public class LEDTimerTack extends TimerTask
String fileRealPath = ;
String templePath = ;
String type= ;
int floor;
public LEDTimerTack(String fileRealPath String templePath String type Integer floor)
this fileRealPath=fileRealPath;
this templePath=templePath;
this type =type;
this floor=floor;
public LEDTimerTack(String fileRealPath String templePath)
this fileRealPath=fileRealPath;
this templePath=templePath;
public void run( )
for(int i= ;i<= ;i++)
//呵呵 这里就是led动态生成信息的代码!
XlsUtil createHtmlFile(templePath fileRealPath i);
cha138/Article/program/Java/hx/201311/25938
相关参考
定时器类Timer在javautil包中使用时先实例化然后使用实例的schedule(TimerTasktasklongdelay)方法设定指定的任务task在指定
Java定时任务Timer 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Java定时任务用到的
JAVATIMER简单用法学习 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Timer有两种执
Java语言中Timer类的简洁用法(二) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 实现计
Java语言中Timer类的简洁用法(一) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 所有类
用JNI实现一个高精度的Java计时器 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &
Java定时器 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 好多朋友用过Windows的任务计
TimerTask与Timer类的应用 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Timer
知识大全 Timer,Quartz和Spring实现作业调度
Timer,Quartz和Spring实现作业调度 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
知识大全 PHP中使用pcntl和libevent实现Timer功能
PHP中使用pcntl和libevent实现Timer功能 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一