计算机网站设计怎么做seo综合查询网站
在使用java.util.Timer和java.util.TimerTask执行定时任务时,如果在调用Timer的schedule或scheduleAtFixedRate方法时,报错如下:
java.lang.IllegalStateException: Task already scheduled or cancelled
说明当前Timer对象已经执行结束或被取消了,通常情况下是执行过Timer或TimerTask的cancel()接口,当前的Timer和TimerTask已经被消耗了,不能继续使用。如果要继续使用,需要重新创建对象,例如:
/*** 开始计时器*/private void startTimer() {this.stopTimer();this.timer = new Timer();this.task = new TimerTask() {@Overridepublic void run() {// 代码逻辑}};// 每隔1秒执行一次taskthis.timer.schedule(this.task, 0, 1000);}/*** 结束计时器*/private void stopTimer() {if (this.timer != null) {this.timer.cancel();}}