定时器Timer

本文介绍了Java中的Timer类及其TimerTask,用于实现定时计划任务功能。通过示例展示了如何创建定时器并指定延迟执行或周期性执行任务。在主程序中创建了两个Timer实例,一个用于延时2000毫秒后执行一次任务,另一个则在1000毫秒后首次执行,然后每隔2000毫秒重复执行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

定时器Timer

一、概述
       定时计划任务功能在Java中主要使用的就是Timer对象,它在内部使用多线程的方式进行处理,所以它和多线程技术还是有非常大的关联的。在JDK中Timer类主要负责计划任务的功能,也就是在指定的时间开始执行某一个任务,但封装任务的类确实TimerTask类。

二、应用场景
我们使用timer的时候,一般有4种情况,但常用的有2种场景:
1、指定时间执行;
2、指定时间执行后间隔指定时间重复执行;

三、使用方法
1、首先要通过继承TimerTask类并实现run()方法来自定义要执行的任务(当然也可以写成匿名内部类)
2、需要创建一个定时器(Timer类对象),并通过Timer,schedule(TimerTask task,Date time)方法执行时间运送任务。
代码:使用内部类

ackage com.yunhe.day1102;

import java.util.Timer;
import java.util.TimerTask;

public class TimerTest {

	public static void main(String[] args) {
		// 计时器(定时器)类 用与指定时间后执行或重复执行线程
		Timer t2 = new Timer();
		// t2.schedule(task, delay);
		// 延时指定毫秒后输出
		t2.schedule(new TimerTask() {
			@Override
			public void run() {
				System.out.println("指定毫秒后执行线程");
				t2.cancel();
			}
		}, 2000);
		

		Timer t4 = new Timer();
		//t4.schedule(task, delay, period);
		//延时指定delay毫秒后首次执行 之后间隔period毫秒执行一次
		t4.schedule(new TimerTask() {
			@Override
			public void run() {
				System.out.println("指定毫秒执行后重复执行");
			}
		}, 1000, 2000);
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值