
4个回答
展开全部
import java.util.Timer;
public class TimerTest1 {
static class MyTask extends java.util.TimerTask {
public void run() {
System.out.println("开始");
}
}
static class Shutdown extends java.util.TimerTask {
Timer timer = null;
public Shutdown() {
}
public Shutdown(Timer mytimer) {
timer = mytimer;
}
public void run() {
System.out.println("结束");
timer.cancel();// 使用这个方法退出任务
}
}
public static void main(String[] args) {
Timer timer = new Timer();
timer.schedule(new MyTask(), 1000);// 在1秒后执行此任务
timer.schedule(new Shutdown(timer), 3000);// 在3秒后执行此任务
}
}
public class TimerTest1 {
static class MyTask extends java.util.TimerTask {
public void run() {
System.out.println("开始");
}
}
static class Shutdown extends java.util.TimerTask {
Timer timer = null;
public Shutdown() {
}
public Shutdown(Timer mytimer) {
timer = mytimer;
}
public void run() {
System.out.println("结束");
timer.cancel();// 使用这个方法退出任务
}
}
public static void main(String[] args) {
Timer timer = new Timer();
timer.schedule(new MyTask(), 1000);// 在1秒后执行此任务
timer.schedule(new Shutdown(timer), 3000);// 在3秒后执行此任务
}
}
展开全部
java.util.TimerTask 当作是一个线程,只要覆盖run方法就可以。
java.util.Timer
void schedule(TimerTask task, Date time)
Schedules the specified task for execution at the specified time.
void schedule(TimerTask task, Date firstTime, long period)
Schedules the specified task for repeated fixed-delay execution, beginning at the specified time.
void schedule(TimerTask task, long delay)
Schedules the specified task for execution after the specified delay.
void schedule(TimerTask task, long delay, long period)
Schedules the specified task for repeated fixed-delay execution, beginning after the specified delay.
两个对象配合,就可以。要多久停止,就用period和计数器了。
java.util.Timer
void schedule(TimerTask task, Date time)
Schedules the specified task for execution at the specified time.
void schedule(TimerTask task, Date firstTime, long period)
Schedules the specified task for repeated fixed-delay execution, beginning at the specified time.
void schedule(TimerTask task, long delay)
Schedules the specified task for execution after the specified delay.
void schedule(TimerTask task, long delay, long period)
Schedules the specified task for repeated fixed-delay execution, beginning after the specified delay.
两个对象配合,就可以。要多久停止,就用period和计数器了。
展开全部
java api 里面的详细解释:
安排指定的任务从指定的延迟后开始进行重复的固定延迟执行。以近似固定的时间间隔(由指定的周期分隔)进行后续执行。
在固定延迟执行中,根据前一次执行的实际执行时间来安排每次执行。如果由于任何原因(如垃圾回收或其他后台活动)而延迟了某次执行,则后续执行也将被延迟。从长期来看,执行的频率一般要稍慢于指定周期的倒数(假定 Object.wait(long) 所依靠的系统时钟是准确的)。
固定延迟执行适用于那些需要“平稳”运行的重复活动。换句话说,它适用于在短期运行中保持频率准确要比在长期运行中更为重要的活动。这包括大多数动画任务,如以固定时间间隔闪烁的光标。这还包括为响应人类活动所执行的固定活动,如在按住键时自动重复输入字符。
参数:
task - 所要安排的任务。
delay - 执行任务前的延迟时间,单位是毫秒。
period - 执行各后续任务之间的时间间隔,单位是毫秒。
还有安装你的意思你好像只需要在10秒后执行一次就好了,但是就不应该用t.schedule(task, delay, period),应该用的是t.schedule(task, delay,),你用的那个是会重复执行的,间隔为period毫秒;
安排指定的任务从指定的延迟后开始进行重复的固定延迟执行。以近似固定的时间间隔(由指定的周期分隔)进行后续执行。
在固定延迟执行中,根据前一次执行的实际执行时间来安排每次执行。如果由于任何原因(如垃圾回收或其他后台活动)而延迟了某次执行,则后续执行也将被延迟。从长期来看,执行的频率一般要稍慢于指定周期的倒数(假定 Object.wait(long) 所依靠的系统时钟是准确的)。
固定延迟执行适用于那些需要“平稳”运行的重复活动。换句话说,它适用于在短期运行中保持频率准确要比在长期运行中更为重要的活动。这包括大多数动画任务,如以固定时间间隔闪烁的光标。这还包括为响应人类活动所执行的固定活动,如在按住键时自动重复输入字符。
参数:
task - 所要安排的任务。
delay - 执行任务前的延迟时间,单位是毫秒。
period - 执行各后续任务之间的时间间隔,单位是毫秒。
还有安装你的意思你好像只需要在10秒后执行一次就好了,但是就不应该用t.schedule(task, delay, period),应该用的是t.schedule(task, delay,),你用的那个是会重复执行的,间隔为period毫秒;
展开全部
Timer timer = new Timer();
timer.schedule(new DoSomeThing(), 1*60*1000);
1秒后执行DoSomeThing 里面写个静态的方法执行你的逻辑
timer.schedule(new DoSomeThing(), 1*60*1000);
1秒后执行DoSomeThing 里面写个静态的方法执行你的逻辑
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询