关于java里Timer类的问题

来源:百度知道 编辑:UC知道 时间:2024/07/04 06:54:32
现在要做个程序,用户输入数据,然后我把它存入数据库,每隔几秒对数据库进行一些操作。我先做了个测试Timer类的程序
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Timer;
import java.util.TimerTask;

public class MyTimer {

Timer timer = new Timer();

class LoadNext extends TimerTask{
public void run(){
InputStreamReader stdin = new InputStreamReader(System.in);
BufferedReader bufin = new BufferedReader(stdin);
try
{
System.out.print("Input:");
bufin.readLine();

}
catch(IOException E)
{
System.out.println("I/O Error");
}
}
}

public void start(){
LoadNext worker = new LoadNext();
timer.schedule(worker,1000*3,3*1000); <

如果你想让他一直执行,就做个判断,如果无输入就插入空值然后在判断,如果插入空值就+个SQL自动删除,如果不是,那就是用户输入的,但是我感觉这样比较耗费资源,因为无人操作情况下,也自己走.

按照程序走当然就是这样,你不输入自然要暂停,它不是每隔3*1000强制执行,而是执行的任务的前后两次间隔是三秒

用户不输入数据程序当然就卡在bufin.readLine(); 这一行上,它不是每隔3*1000强制执行,而是执行的任务的前后两次间隔是三秒 !

样,你不输入自然要暂停,它不是每隔3*1000强制执行,而是执行的任务的前后两次间隔是三秒