您的位置 首页 java

多线程之定时器

多线程之定时器

在JDK的 java .util包中提供了一个实用类定时器Timer,它能够定时执行特定的任务。下面的代码演示了定时器的用法:

多线程之定时器

java.util.TimerTask是一个 抽象类 ,它实现了Runnable接口。在Machine类的start()方法中定义的匿名类继承TimerTask类,它的run()方法表示定时器需要定时完成的任务。

java.util.Timer的 构造方法 有几种 重载 形式,上面用的是Timer(boolean isDaemon)允许把与Timer关联的线程设为后台线程。Timer类本身并不是线程类,但是在它的实现中利用了线程来执行定时任务。

Timer的schedule(TimerTask task,long delay,long period)方法用来设置定时器需要定时执行的任务。task参数表示任务,delay参数表示延迟执行的时间,以毫秒为单位,period参数表示每次执行任务的时间间隔,以毫秒为单位。例如:

表示定时器将在10毫秒以后执行task任务(即TimerTask实例的run()方法),以后每个50毫秒重复执行一次任务。

Timer类的schedule方法还要一种重载形式:schedule(TimeTask task,long delay),例如:

timer.schedule(task,10);

上面代码表示定时器将在10毫秒以后执行task任务,以后不再重复执行。

同一个定时器对象,可以执行多个任务,如下:

timer.schedule(task1,0,1000);

timer.schedule(task2,0,500);

上面代码表明定时器会执行两个任务,一个每隔1秒后执行一次,一个每隔500毫秒执行一次。


目录:

文章来源:智云一二三科技

文章标题:多线程之定时器

文章地址:https://www.zhihuclub.com/176344.shtml

关于作者: 智云科技

热门文章

网站地图