定时的功能我们在手机上见得比较多,比如定时清理垃圾,闹钟,等等.定时功能在java中主要使用的就是Timer对象,他在内部使用的就是多线程的技术.

Time类主要负责完成定时计划任务的功能,就是在指定的时间的开始执行某个任务.
Timer类的作用是设置计划任务,而封装任务内容的类是TimerTask类.此类是一个抽象类,继承需要实现一个run方法.
通过查文档我们看到Timer有以下几个构造函数:
Timer的方法以下这么多:
下面我们通过定时器来完成一个简单功能,就是在运行项目三秒后,在控制台打印出"您该起床了",来模拟一下闹钟的功能:
package com.wang.reflect;
import java.util.Timer;
import java.util.TimerTask;
class MyTask extends TimerTask{
@Override
public void run() {
System.out.println("您该起床了!!!!");
}
}
public class TimerDemo {
public static void main(String[] args) {
//创建定时器对象
Timer t=new Timer();
//在3秒后执行MyTask类中的run方法
t.schedule(new MyTask(), 3000);
}
}
运行后,我们发现三秒后控制台打印出了相当的文字,但是任务虽然执行完了,进程却没有销毁,还是呈红色状态,这是什么原因呢?
创建了一个Timer就相当于启动了一个新线程,这个新线程并不是守护线程,所以会一直运行.
在Time类和TimerTask类中都有一个cancel()方法.
TimerTask类中的作用是:将自身从任务队列中清除,(一个Timer对象可以执行多个Timertask任务)
Timer类中的作用是:将任务队列中的全部任务清空.
下面写一个实例,定时删除指定磁盘某个目录下的所有文件:
package com.wang.reflect;
import java.io.File;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
class MyTask extends TimerTask{
/**
* 定时删除指定位置的文件,(这里以删除f盘下aa文件夹的所有文件为例)
*/
@Override
public void run() {
File file=new File("f://aa");
deleteFolder(file);
}
public void deleteFolder(File file){
File[] files=file.listFiles();
for(File f:files){
if(f.isDirectory()){
//使用递归
deleteFolder(f);
}else{
f.delete();
}
}
file.delete();
}
}
public class TimerDemo {
public static void main(String[] args) throws ParseException {
//创建定时器对象
Timer t=new Timer();
String time="2016-04-04 11:26:40";
Date d=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(time);
t.schedule(new MyTask(), d);
}
}
注意,如果在上面测试代码中,我给出的Date类型的时间,早于当前的时间.则会立即执行task任务.
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# java定时器timer
# java定时器timer详解
# java定时器timer写法
# java实现多线程之定时器任务
# Java多线程定时器Timer原理及实现
# Java多线程之定时器Timer的实现
# Java多线程案例之定时器详解
# Java多线程案例实战之定时器的实现
# 类中
# 递归
# 是一个
# 几个
# 都有
# 就是在
# 出了
# 多个
# 他在
# 这么多
# 却没有
# 此类
# 为例
# 在上面
# 比较多
# 来完成
# 则会
# 机上
# 在手
# 多线程
相关文章:
建站VPS推荐:2025年高性能服务器配置指南
如何高效利用200m空间完成建站?
网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?
英语简历制作免费网站推荐,如何将简历翻译成英文?
网站制作的软件有哪些,制作微信公众号除了秀米还有哪些比较好用的平台?
建站之星IIS配置教程:代码生成技巧与站点搭建指南
如何使用Golang安装API文档生成工具_快速生成接口文档
,石家庄四十八中学官网?
胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?
GML (Geography Markup Language)是什么,它如何用XML来表示地理空间信息?
阿里云网站制作公司,阿里云快速搭建网站好用吗?
如何选择CMS系统实现快速建站与SEO优化?
如何优化Golang Web性能_Golang HTTP服务器性能提升方法
如何注册花生壳免费域名并搭建个人网站?
音乐网站服务器如何优化API响应速度?
深入理解Android中的xmlns:tools属性
孙琪峥织梦建站教程如何优化数据库安全?
北京制作网站的公司,北京铁路集团官方网站?
建站之星安装后如何配置SEO及设计样式?
如何快速配置高效服务器建站软件?
seo网站制作优化,网站SEO优化步骤有哪些?
定制建站方案优化指南:企业官网开发与建站费用解析
平台云上自主建站:模板化设计与智能工具打造高效网站
建站ABC备案流程中有哪些关键注意事项?
长沙做网站要多少钱,长沙国安网络怎么样?
北京网站制作公司哪家好一点,北京租房网站有哪些?
网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?
建站主机SSH密钥生成步骤及常见问题解答?
如何在云服务器上快速搭建个人网站?
如何在Windows 2008云服务器安全搭建网站?
制作网站的软件免费下载,免费制作app哪个平台好?
如何通过商城自助建站源码实现零基础高效建站?
如何选购建站域名与空间?自助平台全解析
,sp开头的版面叫什么?
建站之星代理商如何保障技术支持与售后服务?
建站之星如何一键生成手机站?
齐河建站公司:营销型网站建设与SEO优化双核驱动策略
网站制作网站,深圳做网站哪家比较好?
如何在Tomcat中配置并部署网站项目?
C#如何在一个XML文件中查找并替换文本内容
电商平台网站制作流程,电商网站如何制作?
无锡制作网站公司有哪些,无锡优八网络科技有限公司介绍?
小建面朝正北,A点实际方位是否存在偏差?
建站VPS配置与SEO优化指南:关键词排名提升策略
制作网站外包平台,自动化接单网站有哪些?
广州网站制作的公司,现在专门做网站的公司有没有哪几家是比较好的,性价比高,模板也多的?
家庭建站与云服务器建站,如何选择更优?
如何选择美橙互联多站合一建站方案?
香港服务器选型指南:免备案配置与高效建站方案解析
如何用PHP工具快速搭建高效网站?
*请认真填写需求信息,我们会在24小时内与您取得联系。