java单线程的定时任务怎么写
时间: 2023-09-23 21:06:51 浏览: 113
Java 单线程的定时任务可以使用 java.util.Timer 类来实现,具体步骤如下:
1. 创建 Timer 对象。
```
Timer timer = new Timer();
```
2. 创建 TimerTask 对象,并实现 run() 方法。
```
TimerTask task = new TimerTask() {
@Override
public void run() {
// 定时任务执行的代码
}
};
```
3. 调用 Timer 对象的 schedule() 方法,设置定时任务的执行时间和频率。
```
timer.schedule(task, delay, period);
```
其中,delay 表示定时任务第一次执行的延迟时间(单位为毫秒),period 表示定时任务的执行频率(单位为毫秒)。
完整代码示例:
```
import java.util.Timer;
import java.util.TimerTask;
public class TimerDemo {
public static void main(String[] args) {
Timer timer = new Timer();
TimerTask task = new TimerTask() {
@Override
public void run() {
System.out.println("定时任务执行了!");
}
};
long delay = 1000L; // 延迟 1 秒后执行
long period = 2000L; // 每隔 2 秒执行一次
timer.schedule(task, delay, period);
}
}
```
注意,Timer 的实现是基于单个线程的,如果某个定时任务的执行时间过长,可能会影响其他定时任务的执行,甚至导致任务堆积。因此,在高并发场景下,建议使用 ScheduledExecutorService 来代替 Timer。
阅读全文