Java定时器(一)Timer类和TimerTask类
方式一:设定指定任务task在指定时间time执行 schedule(TimerTask task, Date date)
- <span style="font-family:Microsoft YaHei;font-size:18px;"> public static void main(String[] args) throws Exception {
- // TODO Auto-generated method stub
- new Timer().schedule(new TimerTask() {
- @Override
- public void run() {
- System.out.println("……这里是逻辑代码……");
- }
- }, 5000);
- while(true){
- Thread.sleep(1000);
- System.out.println(new Date().getSeconds());
- }
- }</span>
此代码的结果是5秒后输出"……这里是逻辑代码……"
方式二:设定指定任务task在指定延迟delay后进行固定延迟peroid的执行 schedule(TimerTask task,long delay,long period)
- <span style="font-family:Microsoft YaHei;font-size:18px;">public static void main(String[] args) throws Exception {
- // TODO Auto-generated method stub
- new Timer().schedule(new TimerTask() {
- @Override
- public void run() {
- System.out.println("………这里是逻辑代码………");
- }
- }, 5000,5000);
- while(true){
- Thread.sleep(1000);
- System.out.println(new Date().getSeconds());
- }
- }</span>
此段代码输出结果为延迟5秒后,每隔5秒输出"……这里是逻辑代码……"
方式三:设定指定任务task在指定开始时间firstTime开始后进行固定频率peroid的执行 schedule(TimerTask task,Date firstTime,long period)
- <span style="font-family:Microsoft YaHei;font-size:18px;">public static void main(String[] args) throws Exception {
- // TODO Auto-generated method stub
- new Timer().schedule(new TimerTask() {
- @Override
- public void run() {
- System.out.println("……这里是逻辑代码……");
- }
- },new Date(), 5000);
- while(true){
- Thread.sleep(1000);
- System.out.println(new Date().getSeconds());
- }
- }</span>
这里的代码输出结果为在当前时间开始后马上输出"……这里是逻辑代码……",之后每隔5秒输出"……这里是逻辑代码……"