Timer及TimerTask的小问题,在线等

zgycsmb 2014-06-17 06:48:23
java中,利用Timer及TimerTask实现定时重复效果:控制台输出结果如下
BOM
20
21
22
23
BOM
24
25
BOM
26
27
28
29
BOM
30
31
BOM为定时爆炸效果,输出“BOM”即可,
数字为运行时当前的系统秒数,要求每次“BOM”的间隔时间为:2秒,4秒,2秒,4秒…

请大家帮我想下,并提供些主要程序,多谢
...全文
94 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
vnvlyp 2014-06-17
  • 打赏
  • 举报
回复
数字为当前运行的系统秒数是什么意思?我理解是系统启动至今的秒数。 下面代码输出样例: 1403015286 1403015287 1403015288 1403015289 BOM 1403015290 1403015291 BOM 1403015292 1403015293 1403015294 1403015295 BOM 1403015296 1403015297 BOM 1403015298 1403015299 1403015300 1403015301
	public static void main(String[] args) {
		TimerTask task = new TimerTask() {
			private int count = 0, n = 4;
			@Override
			public void run() {
				System.out.println(System.currentTimeMillis() / 1000);
				
				if (++count == n) {
					System.out.println("BOM");
					count = 0;
					n ^= 6;
				}
			}
		};
		
		Timer timer = new Timer();
		timer.schedule(task, 0, 1000);
	}
-江沐风- 2014-06-17
  • 打赏
  • 举报
回复
Timer和TimerTask的话,一般是这样用于定时任务的;
Timer timer2 = new Timer();
timer2.schedule(new TimerTask()
{
	public void run()
	{
		System.out.println("aa");
	}
}, 0, time);
time是间隔的时间,用毫秒表示; schedule的参数: timer.schedule(task, time); // time为Date类型:在指定时间执行一次。 timer.schedule(task, firstTime, period); // firstTime为Date类型,period为long // 从firstTime时刻开始,每隔period毫秒执行一次; 自己在此基础上改改吧;

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧