Executors 提供的单定时线程 循环使用
时间: 2024-02-21 11:58:28 浏览: 60
好的,您可以参考以下 Java 代码实现:
```java
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
public class MyScheduledTask implements Runnable {
public void run() {
System.out.println("Hello, world!");
}
public static void main(String[] args) {
// 创建定时任务线程池
ScheduledExecutorService executor = Executors.newSingleThreadScheduledExecutor();
// 创建定时任务对象
MyScheduledTask task = new MyScheduledTask();
// 每隔5秒执行一次任务
executor.scheduleAtFixedRate(task, 0, 5, TimeUnit.SECONDS);
// 等待10秒后关闭定时线程池
try {
Thread.sleep(10000);
} catch (InterruptedException e) {
e.printStackTrace();
}
executor.shutdown();
}
}
```
在上面的代码中,我们创建了一个单定时线程的线程池对象,即通过`Executors.newSingleThreadScheduledExecutor()`方法创建`ScheduledExecutorService`对象。然后,我们创建了一个`MyScheduledTask`对象,并通过`scheduleAtFixedRate()`方法将该定时任务安排在每隔5秒执行一次。接着,我们通过`Thread.sleep()`方法等待10秒后关闭定时线程池,即通过`executor.shutdown()`方法关闭线程池。这样,我们就可以实现循环使用的单定时线程了。