java timer 用法

最简单的用法,从1秒后开始,3秒后结束。给段小代码吧!... 最简单的用法,从1秒后开始,3秒后结束。给段小代码吧! 展开
 我来答 举报
懒洋洋_哈哈
2012-05-15 · TA获得超过210个赞
知道小有建树答主
回答量:150
采纳率:0%
帮助的人:95.1万
展开全部
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秒后执行此任务
}

}
bd9006
2012-05-15 · TA获得超过2.5万个赞
知道大有可为答主
回答量:4.8万
采纳率:63%
帮助的人:1.7亿
展开全部
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和计数器了。
2 已赞过 已踩过<
你对这个回答的评价是?
评论 举报 收起
百度网友8c8c4ec
2012-05-16 · TA获得超过141个赞
知道小有建树答主
回答量:157
采纳率:100%
帮助的人:166万
展开全部
java api 里面的详细解释:
安排指定的任务从指定的延迟后开始进行重复的固定延迟执行。以近似固定的时间间隔(由指定的周期分隔)进行后续执行。
在固定延迟执行中,根据前一次执行的实际执行时间来安排每次执行。如果由于任何原因(如垃圾回收或其他后台活动)而延迟了某次执行,则后续执行也将被延迟。从长期来看,执行的频率一般要稍慢于指定周期的倒数(假定 Object.wait(long) 所依靠的系统时钟是准确的)。

固定延迟执行适用于那些需要“平稳”运行的重复活动。换句话说,它适用于在短期运行中保持频率准确要比在长期运行中更为重要的活动。这包括大多数动画任务,如以固定时间间隔闪烁的光标。这还包括为响应人类活动所执行的固定活动,如在按住键时自动重复输入字符。

参数:
task - 所要安排的任务。
delay - 执行任务前的延迟时间,单位是毫秒。
period - 执行各后续任务之间的时间间隔,单位是毫秒。

还有安装你的意思你好像只需要在10秒后执行一次就好了,但是就不应该用t.schedule(task, delay, period),应该用的是t.schedule(task, delay,),你用的那个是会重复执行的,间隔为period毫秒;
抢首赞 已赞过 已踩过<
你对这个回答的评价是?
评论 举报 收起
疏狂山人
2012-05-15 · TA获得超过1940个赞
知道小有建树答主
回答量:395
采纳率:100%
帮助的人:225万
展开全部
Timer timer = new Timer();
timer.schedule(new DoSomeThing(), 1*60*1000);
1秒后执行DoSomeThing 里面写个静态的方法执行你的逻辑
2 已赞过 已踩过<
你对这个回答的评价是?
评论 举报 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式