您现在的位置是:首页 >

计时器软件哪个好 Java计时器Timer 使用

火烧 2021-12-22 08:15:50 1050
Java计时器Timer 使用   所有类型的 Java 应用程序一般都需要计划重复执行的任务  Timer类是用来执行任务的类 它接受一个TimerTa k做参数  java util Timer

Java计时器Timer 使用  

  所有类型的 Java 应用程序一般都需要计划重复执行的任务

  Timer类是用来执行任务的类 它接受一个TimerTask做参数

  java util Timer 和 java util TimerTask 它们使程序员可以很容易地计划简单的任务

  Timer

  Timer最常用的是schedule执行任务的模式 它可以以两种方式执行任务:

   :在某个时间(Data) :在某个固定的时间之后(int delay) 这两种方式都可以指定任务执行的频率

  看个简单的例子:

  Java代码

  import java io IOException;

计时器软件哪个好 Java计时器Timer 使用

  import java util Timer;

  public class TimerTest {

  public static void main(String[] args){

  Timer timer = new Timer();

  timer schedule(new Job() );//在 秒后执行此任务 每次间隔 秒 如果传递一个Data参数 就可以在某个固定的时间执行这个任务

  

  }

  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参数 就可以在某个固定的时间执行这个任务

  

  }

  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);

  }

lishixinzhi/Article/program/Java/hx/201311/25938  
永远跟党走
  • 如果你觉得本站很棒,可以通过扫码支付打赏哦!

    • 微信收款码
    • 支付宝收款码