package com.zhlk.thread;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
public class TraditionalTimerTest {
/**
* 创建日期:2017-3-4下午9:32:26
* 作者:lvguanghui
*/
private static int count=0;
public static void main(String[] args) {
class MyTimerTask extends TimerTask {
public void run() {
count=(count+1)%2;
System.out.println("nihao");
new Timer().schedule(new MyTimerTask(), 2000+2000*count);
}
}
new Timer().schedule(new MyTimerTask(), 2000);
while(true){
System.out.println("第"+new Date().getSeconds()+"秒");
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
分享到:
相关推荐
这使得`run()`方法每隔2秒就会被执行一次,直到`Timer`或`TimerTask`被取消。 `Timer`类维护了一个定时任务队列,所有基于同一`Timer`实例的任务都会在这个队列中按顺序执行。这意味着,如果你为同一个`Timer`实例...
// 参数2:首次执行的延迟(单位:毫秒) // 参数3:执行间隔(单位:毫秒),这里是24小时 timer.schedule(task, delay, 24 * 60 * 60 * 1000); // 保持主程序运行 while (true) { Thread.sleep(1000); } ...
- 调用了`timer.schedule(new MyTask(), 1000, 2000)`来安排任务,在1秒后首次执行,并且每2秒重复执行一次。 - 使用了一个无限循环来等待用户的输入,如果用户输入字符`c`,则调用`timer.cancel()`来取消所有的定时...
// 每隔2秒重复执行 timer.scheduleAtFixedRate(new MyTask(), 0, 2000); ``` 在`TimerTaskDemo`中,开发者可能创建了一个`TimerTask`子类,定义了具体的任务行为,然后通过`Timer`对象来定时执行这个任务。这通常...
// 每隔5秒执行一次 timer.schedule(task, 0, 5000); } } ``` 在Web环境中,`Timer`和`TimerTask`的使用需要注意几点: 1. **线程安全**:由于`Timer`和`TimerTask`不是线程安全的,因此在多线程的Web应用中,...
Android中使用定时器TimerTask类介绍.txt Android中使用定时器TimerTask类介绍.txt
下面我们将深入探讨如何使用 `TimerTask` 实现每天在特定时间段内执行定时任务。 首先,我们需要创建一个 `TimerTask` 的子类,这个子类将包含我们实际要执行的任务逻辑。在这个例子中,有两个文件:`RunTask.java`...
- `public void schedule(TimerTask task, Date firstTime, long period)`:在首次执行时间为`firstTime`之后,每隔`period`毫秒重复执行一次任务`task`。 - `public void schedule(TimerTask task, long delay)`...
在Android开发中,有时我们需要定期执行某些任务,例如更新...通过熟练掌握`Android Timer`、`TimerTask`和`Handler`的使用,开发者能够更高效地管理应用程序的定时任务,优化用户界面的响应速度,提升应用的整体性能。
前者会在指定延迟后执行任务,而后者则会在指定的日期和时间首次执行,然后每隔一段时间重复执行。 `TimerTask`是`Runnable`接口的子类,代表一个可被定时执行的任务。开发者需要继承`TimerTask`并重写其`run()`...
发布的程序或是重启过服务,那这样的情况下,任务会立即执行,而不是等到第二天的凌晨2点执行。为了,避免这种情况 发生,只能判断一下,如果发布或重启服务的时间晚于定时执行任务的时间,就在此基础上加一天。
2. **整合TimerTask与Spring**:由于`TimerTask`不直接集成于Spring,我们需要自定义一个适配器,让Spring可以管理和控制`TimerTask`的执行。这通常通过实现Spring的`Runnable`接口并结合`Timer`类来实现。在适配器...
本教程将详细讲解如何利用ViewPager实现每隔2秒自动轮换图片的功能。 首先,我们需要理解ViewPager的基本用法。ViewPager通过适配器(通常为PagerAdapter或FragmentPagerAdapter)来加载和管理页面。每个页面可以是...
// 每隔1000毫秒(1秒)执行一次 ``` 这里,`schedule(TimerTask task, long delay, long period)`方法会在指定的延迟后开始执行`task`,然后每隔`period`时间重复执行。`delay`为首次执行前的等待时间,`period`...
// 每隔1秒执行一次 } } ``` 在上述代码中,`PrintTask` 实现了 `TimerTask`,并在 `run()` 方法中定义了任务内容。`timer.schedule(task, 0, 1000);` 表示立即开始(延迟为0),之后每1000毫秒(即1秒)执行一次...
这样,我们就创建了一个简易的定时器,它会在initialDelay后首次执行,然后每隔period毫秒重复执行。 需要注意的是,Handler和TimerTask虽然能实现定时功能,但它们各有优缺点。Handler更适合用于处理与UI相关的...
上述代码表示每5秒执行一次`executeTask`方法。 2. **配置定时任务** 在Spring配置文件中,我们需要开启定时任务支持并配置调度器。以下是一个XML配置示例: ```xml ``` 这样,Spring会自动扫描并...
创建一个TimerTask实例,覆盖run()方法实现UI更新,然后使用Timer的scheduleAtFixedRate()方法设定每隔1秒执行一次。 ```java Timer timer = new Timer(); TimerTask task = new TimerTask() { @Override public ...
// 或者可以设置周期性执行,例如每隔2秒执行一次 // timer.schedule(task, 0, 2000); } } ``` 在这个例子中,我们首先创建了一个`Timer`实例,然后定义了一个`TimerTask`子类,重写了`run()`方法。接着,我们...
在Java Web开发中,`ServletContextListener`、`Timer`和`TimerTask`是三个非常重要的概念,它们分别涉及Web应用程序的生命周期管理、定时任务的执行和控制。下面将详细讲解这三个概念及其应用。 首先,`...