答案:通过ScheduledExecutorService实现Java任务提醒工具,定义ReminderTask类封装任务信息,使用schedule方法按延迟时间执行提醒,主程序添加示例任务并等待触发,最后关闭线程池。

在Java中创建一个小型任务提醒工具,可以通过结合定时任务调度和简单用户交互来实现。核心可以使用ScheduledExecutorService来管理定时提醒,配合一个任务类来存储提醒内容和时间。
首先创建一个任务类,用于保存提醒的标题、消息和提醒时间。
public class ReminderTask {
private String title;
private String message;
private long delayInSeconds;
public ReminderTask(String title, String message, long delayInSeconds) {
this.title = title;
this.message = message;
this.delayInSeconds = delayInSeconds;
}
// getter方法
public String getTitle() { return title; }
public String getMessage() { return message; }
public long getDelayInSeconds() { return delayInSeconds; }
}
Java的ScheduledExecutorService适合用来延迟执行任务。我们可以将每个提醒任务提交为延迟运行的任务。
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
public class TaskReminderTool {
private final ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
public void addReminder(ReminderTask task) {
scheduler.schedule(() -> {
System.out.println("\n? 提醒: " + task.getTitle());
System.out.println("内容: " + task.getMessage());
}, task.getDelayInSeconds(), TimeUnit.SECONDS);
}
public void shutdown() {
scheduler.shutdown();
}
}
写一个简单的主程序来测试提醒功能。
立即学习“Java免费学习笔记(深入)”;
public class Main {
public static void main(String[] args) {
TaskReminderTool reminderTool = new TaskReminderTool();
// 添加几个提醒任务
reminderTool.addReminder(new ReminderTask(
"喝水", "记得喝一杯水!", 5));
reminderTool.addReminder(new ReminderTask(
"休息", "起来活动一下身体吧!", 10));
System.out.println("已设置提醒任务,等待触发...");
// 保持程序运行一段时间以便看到提醒
try {
Thread.sleep(15000); // 等待15秒
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
}
reminderTool.shutdown();
}
}
运行后,会在5秒和10秒后分别打印出对应的提醒信息。
scheduleAtFixedRate)基本上就这些。不复杂但容易忽略的是线程池的关闭和时间单位的转换。用好ScheduledExecutorService就能轻松实现轻量级提醒功能。
以上就是Java中如何创建一个小型任务提醒工具的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号