Java并发编程中定时任务的执行方式
在Java并发编程中,定时任务的执行通常使用线程池配合ScheduledExecutorService
(Spring框架提供)来实现。
- 创建定时任务类:
```java
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
public class TimedTask {
private final Runnable task;
private final ScheduledExecutorService scheduler;
public TimedTask(Runnable task, long delay, TimeUnit unit) {
this.task = task;
this.scheduler = Executors.newScheduledThreadPool(1);
scheduler.scheduleAtFixedRate(task, delay, unit);
}
// 关闭定时任务
public void shutdown() {
scheduler.shutdown();
}
}
2. 在需要定时执行的任务中使用这个类:
```java
public class Main {
public static void main(String[] args) {
TimedTask timedTask = new TimedTask(() -> System.out.println("Task executed at " + java.util.Date.now())), 1, TimeUnit.SECONDS);
// 开始定时任务
timedTask.shutdown();
}
}
这样,你就可以创建一个定时执行任务的线程池模型了。
还没有评论,来说两句吧...