编写一个类,利用事件每5s输出一条问候信息
时间: 2024-09-25 12:17:06 浏览: 34
jQuery实现每隔一段时间自动更换样式的方法分析
为了编写这样一个类,我们可以使用Java的`ScheduledExecutorService`配合`Runnable`来定期执行任务。这里是一个简单的示例:
```java
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
public class GreetingBot {
private ScheduledExecutorService executor;
public GreetingBot() {
// 创建一个线程池用于定时任务
this.executor = Executors.newSingleThreadScheduledExecutor();
// 定义一个Runnable任务,负责打印问候消息
Runnable greetingTask = new Runnable() {
@Override
public void run() {
System.out.println("您好,我是您的问候机器人,现在是" + currentTime());
// 提供一个获取当前时间的方法,这里简单地模拟获取
long currentTime = System.currentTimeMillis();
if (currentTime % 5000 == 0) { // 每隔5秒执行一次
printGreeting();
}
}
private void printGreeting() {
System.out.println("这是我的问候信息:祝您有个美好的一天!");
}
};
// 每隔5秒执行一次greetingTask
executor.scheduleAtFixedRate(greetingTask, 0, 5, TimeUnit.SECONDS);
}
// 示例中的时间获取方法,实际可以替换为更精确的时间处理
private String currentTime() {
return Long.toString(System.currentTimeMillis());
}
// 关闭线程池,防止未关闭资源
public void shutdown() {
executor.shutdown();
}
}
```
当你创建`GreetingBot`实例并运行它时,每隔5秒就会打印出一条问候信息。
阅读全文