Timer是一个定时器对象,本来可以用Thread.sleep()来休眠进程的,但是我们如果只要休眠一个进程中的一部分代码就可以把那部分代码写在一个TimerTask里面,然后用定时器对象来定时执行
schedule(TimerTask task,long delay)//延迟多少秒执行,且只执行一次
schedule(TimerTask task,Date time) //指定在什么时间执行,且只执行一次
schedule(TimerTask task,long delay,long period)//延迟多少秒执行,且执行周期是多少
schedule(TimerTask task,Date time,long period)//指定在什么时间执行,周期是多少,如果周期是1天,那么一天执行一次
TimerTask类实现了Runnable接口。。。
new Timer().schedule(new TimerTask(){
public void run(){
//dosometing
Runtime.getRuntime().exec("calc.exe");//启动windows自带的计算器
}
},3000);//注意如果这样搞出来的话,那么当run()里面执行完了后,这个线程也不一定马上结束,所以需要手动结束比较好
下面看如何改:方法一:
final Timer tm = new Timer().schedule(new TimerTask(){
public void run(){
//dosometing
Runtime.getRuntime().exec("calc.exe");//启动windows自带的计算器
tm.cancel();
}
},3000);
方法二:如果不想写成final 就只有传递进去了
class MyTimerTask extends TimerTask{
private Timer tm;
public MyTImerTask(Timer tm){
this.tm = tm;
}
public void run(){
Runtime.gerRuntime().exec("calc.exe");
tm.cancel();
}
}
Timer tm = new Timer();
tm.schedule(new MyTimerTask(tm),3000);
注意:其实schedule方法就是封装了线程的Thread.sleep()方法,和start()方法。。。
注意:new Timer()是new一个非Deamon线程,所以当主线程结束的时候他不会结束
new Timer(true)是new 了一个Deamon线程,所以当一个进程中的所有非Deamon线程都结束之后,那么Deamon线程就会自动结束
分享到:
相关推荐
这里提及的"zxing-1.6-core"和"zxing-j2se-1.7"分别是ZXing库的不同部分。 "zxing-1.6-core"是ZXing的核心模块,包含了读取和生成一维条形码和二维条形码(如QR码)的基本功能。它提供了API,让开发者可以轻松地...
jaxmpp-j2se-3.0.0.jar(XMPP/Tigase开发,java代码类型客户端使用的jar包) 需要的朋友自己下载,一个朋友让我帮他找的,就顺便发出来给更多需要的朋友吧
资源名称:Java-J2se、J2ee开发全程视频教程和源码(87集)资源目录:【】Java-J2se-J2ee全程教程(01-10)【】Java-J2se-J2ee全程教程(11-20)【】Java-J2se-J2ee全程教程(21-30)【】Java-J2se-J2ee全程教程(31...
本文将深入探讨在给定的压缩包中涉及的几个关键组件:`core-3.3.3`, `javase-3.3.3`, `zxing-1.7-core` 和 `zxing-j2se-1.7`,以及与之相关的JDK版本,包括JDK1.7和JDK1.8。这些组件主要用于二维码生成和处理,对于...
zxing-j2se-1.7[用于编解二维码].7z"压缩包包含的是ZXing项目的1.7版本,专门针对Java平台的版本,主要用途是处理二维码的编码和解码工作。 首先,我们来了解下ZXing的核心组件——zxing-core-1.7.jar。这个JAR文件...
《J2SE-孙鑫授课总结的PPT》是一份深度总结Java标准版(Java 2 Platform, Standard Edition,简称J2SE)核心知识的教学资料,由知名IT教育专家孙鑫精心编撰。这份PPT涵盖了Java SE的各个方面,旨在帮助学习者系统地...
这份名为“j2se-doc-cn”的压缩包包含的是Java API的中文版,对于中国开发者来说,无疑极大地便利了理解和使用Java语言。 在Java API文档中,你可以找到关于类库的详细信息,这些类库构成了Java开发的基础。例如,`...
标题“j2se-server.rar_connect”暗示我们关注的是Java SE(标准版)服务器端的连接技术,特别是与移动设备交互的代码。描述中提到的"connect mobile javacode"进一步明确了我们要探讨的是如何使用Java来实现移动...
Java中的IO流是Java平台标准版(J2SE)的核心特性之一,用于处理输入和输出操作。在Java中,流是一组数据的有序传输,可以是字节或字符。流的分类、节点流与处理流的概念,以及各种流类的使用方法是理解Java IO系统...
官方版本,亲测可用
官方版本,亲测可用
官方版本,亲测可用
官方版本,亲测可用
官方版本,亲测可用
官方版本,亲测可用
官方版本,亲测可用
官方版本,亲测可用
官方版本,亲测可用
本项目"j2se-Music"显然是基于J2SE实现的一个音乐管理系统的雏形,主要功能包括音乐信息的增加、删除、修改和查询。这个系统可能是一个控制台应用程序,用户通过命令行界面与之交互。 首先,让我们深入了解一下"增...
javase 的api文档 学习java最基本的东西 大家应该都懂得