java 用多线程写一个定时任务
时间: 2023-07-01 20:10:06 浏览: 112
可以使用Java的ScheduledExecutorService类来实现定时任务,该类可以让你在指定的时间间隔内重复运行任务。
以下是一个使用ScheduledExecutorService类的示例代码,该代码将在每隔1秒钟执行一次任务:
```
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
public class TimerTask {
public static void main(String[] args) {
ScheduledExecutorService executor = Executors.newScheduledThreadPool(1);
// 任务
Runnable task = () -> {
System.out.println("Task executed at " + System.nanoTime());
};
// 每隔1秒钟执行一次任务
executor.scheduleAtFixedRate(task, 0, 1, TimeUnit.SECONDS);
}
}
```
在上面的代码中,我们创建了一个ScheduledExecutorService实例,并使用scheduleAtFixedRate方法来执行任务。其中,第一个参数是要执行的任务,第二个参数是初始延迟时间,第三个参数是执行周期,第四个参数是时间单位。
这个例子中的任务只是简单地打印当前时间,你可以将其替换为你自己的任务代码。
阅读全文