这个是我从数据库里读取的。这个很方便,但我想传过去,我不知道怎么传。public class Test extends TimerTask{ public void run() { System.out.println("大家好"); } }public class Time { Time(){ Timer timer = new Timer(); Test test = new Test(); timer.schedule(test, 1000,1000); } public static void main(String[] args) { Time t = new Time(); } }这是我写的计时器,但我不知道怎么样把ID传给run()方法。
public class CSDN {
static class MyTask extends TimerTask{ private int taskID = 0;//需求 public MyTask(int ID){ this.taskID = ID; } @Override public void run() { System.out.println("run task with id:"+taskID+" at "+new Date()); } } public static void main(String[] args){ Timer timer = new Timer(); TimerTask tt = new MyTask(255); timer.schedule(tt, 500, 500); try{ Thread.sleep(5000); } catch(Exception e){
public void run() {
System.out.println("大家好");
}
}public class Time {
Time(){
Timer timer = new Timer();
Test test = new Test();
timer.schedule(test, 1000,1000);
}
public static void main(String[] args) {
Time t = new Time();
}
}这是我写的计时器,但我不知道怎么样把ID传给run()方法。
public class CSDN {
static class MyTask extends TimerTask{
private int taskID = 0;//需求
public MyTask(int ID){
this.taskID = ID;
}
@Override
public void run() {
System.out.println("run task with id:"+taskID+" at "+new Date());
}
} public static void main(String[] args){
Timer timer = new Timer();
TimerTask tt = new MyTask(255);
timer.schedule(tt, 500, 500);
try{
Thread.sleep(5000);
}
catch(Exception e){
}
timer.cancel();
}
}
qianzhimeiying
你的方法很不错。我想请教几个问题:
第一:为什么用线程睡眠?
第二:timer.cancel();为什么终止此计时器,丢弃所有当前已安排的任务。
timer.schedule(tt, 500, 500)这个方法也执行一次啊?
如果乐观的话,一开始读出来作为静态变量数组id[]也可以,
每次执行MyTask.taskID = id[index++]呗