在未来某个指定的时间点或者经过一段时间延迟后执行某个事件,这时候就需要用到定时器了。定时器的实现方式有很多种,今天总结最简单的实现方式。java 1.3引入了定时器框架,用于在定时器上下文中控制线程的执行,其由类timer和timertask构成。timer适用于大规模并发调度定时任务,在内部,该类使用二进制的堆表示其定时任务队列。
通过继承timertask或者创建匿名类的方式重写run()方法,创建一个定时任务,通过将其作为第一个参数调用timer得schedule()方法,实现定时器。
import java.util.timer; import java.util.timertask; public class timerdemo { // 通过创建匿名类方式实现 public static void main(string[] args) { // 首先初始化一个timertask的匿名子类 timertask task = new timertask() {
@override public void run() { system.out.println("开始执行"); //退出程序返回最上层,0表示正常退出程序,非0表示非正常退出程序 system.exit(0); } }; //通过timer调用 timer timer = new timer(); timer.schedule(task, 2000); } }
timer创建的定时器一般为非线程守护,如果想要创建守护线程需调用timer(boolean isdaemon) 传递参数true给isdaemon。
timer类声明的方法如下:
void scheduleatfixedrate(timertask task, date firsttime,long period) 调度任务于firsttime开始,以固定速率的方式重复执行,后续将大约period毫秒数的固定时间间隔执行。
如对本文有疑问, 点击进行留言回复!!
NullPointerException: Attempt to invoke virtual method ‘android.content.res.XmlResourceParser androi
关于启动appium-desktop,报错:Cannot extract apk info using apkanalyzer. Falling back to aapt. Original ....
Gradle 发布共享库——如何通过Gradle发布Android依赖库(aar)到 jitpack 公共仓库
Gradle 发布共享库——如何通过Gradle发布java依赖库(jar)到 jitpack 公共仓库(—)
网友评论