ScheduledExecutorService.schedule 实例
时间: 2023-07-25 14:05:40 浏览: 163
下面是一个使用 ScheduledExecutorService.schedule 方法的实例:
```
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
public class ScheduleExample {
public static void main(String[] args) {
ScheduledExecutorService executor = Executors.newScheduledThreadPool(1);
Runnable task = () -> {
System.out.println("Task is running at " + System.nanoTime());
};
System.out.println("Scheduling task to be executed after 5 seconds.");
executor.schedule(task, 5, TimeUnit.SECONDS);
try {
System.out.println("Sleeping for 10 seconds.");
Thread.sleep(10000);
} catch (InterruptedException e) {
e.printStackTrace();
}
executor.shutdown();
}
}
```
在这个例子中,我们创建了一个 ScheduledExecutorService 实例,并将线程池大小设置为1。我们定义了一个 Runnable 任务,该任务只是打印当前时间戳。
然后,我们使用 ScheduledExecutorService.schedule 方法调度该任务,在5秒钟后运行一次。接着,我们让主线程睡眠10秒钟,以确保任务有足够的时间运行。
最后,我们关闭 ScheduledExecutorService。当我们运行这个程序时,我们会看到以下输出:
```
Scheduling task to be executed after 5 seconds.
Sleeping for 10 seconds.
Task is running at 53508431277199
```
我们可以看到,任务成功地在5秒钟后运行了一次,输出了当前时间戳。
阅读全文