永发信息网

一个集合从数据库取出来的,如何用TimeTask定时一次只打印集合中的一条数据

答案:2  悬赏:80  手机版
解决时间 2022-01-01 13:09
  • 提问者网友:嗝是迷路的屁
  • 2021-12-31 18:36
一个集合从数据库取出来的,如何用TimeTask定时一次只打印集合中的一条数据
最佳答案
  • 五星知识达人网友:街头电车
  • 2021-12-31 20:03
TimeTask 计时器任务 ,常用的方法如下


方法摘要

void    cancel()
终止此计时器,丢弃所有当前已安排的任务。    
int    purge()
从此计时器的任务队列中移除所有已取消的任务。    
void    schedule(TimerTask task,
Date time)
安排在指定的时间执行指定的任务。    
void    schedule(TimerTask task,
Date firstTime,
long period)
安排指定的任务在指定的时间开始进行重复的固定延迟执行。    
void    schedule(TimerTask task,
long delay)
安排在指定延迟后执行指定的任务。    
void    schedule(TimerTask task,
long delay, long period)
安排指定的任务从指定的延迟后开始进行重复的固定延迟执行。    
void    scheduleAtFixedRate(TimerTask task,
Date firstTime,
long period)
安排指定的任务在指定的时间开始进行重复的固定速率执行。    
void    scheduleAtFixedRate(TimerTask task,
long delay, long period)
安排指定的任务在指定的延迟后开始进行重复的固定速率执行。    
完整的参考代码如下
import java.util.ArrayList;
import java.util.Timer;
import java.util.TimerTask;

public class ListDemo{
static int index =0;//索引,

public static void main(String[] args) {
// 假设从数据库得到的是一个集合, 这个集合是从1~10的数字
ArrayList  list = new ArrayList();
for (int i = 1; i <= 10; i++) {
list.add(i);
}

Timer timer = new Timer();
timer.schedule(new TimerTask() {

@Override
public void run() {
System.out.println(list.get(index));
index++;
if(index>list.size()-1) {//如果打印完毕
timer.cancel();//取消任务
}
}
}, 200,100);//200毫秒后开始进行,每隔100毫秒运行一次

// schedule(TimerTask task, long delay, long period)
// 安排指定的任务从指定的延迟后开始进行重复的固定延迟执行。
}

}
全部回答
  • 1楼网友:玩世
  • 2021-12-31 21:01
虽然我很聪明,但这么说真的难到我了
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯