问题是,我不确定这是否是一个好的设计,而且在实例创建和调度其TimerTask时有时也会出错:
java.lang.IllegalStateException: Timer already cancelled.
这里有一些代码来说明我的意思。
/**
* Starts scheduled tasks using TimerTask
*/
private void initTasks()
{
// room heartbeat thread: start immediately, run once every second
roomHeartbeatTask = new RoomHeartbeatTask(this);
RoomListExtension.roomHeartbeat.schedule(roomHeartbeatTask, 0, 1000);
// add additional tasks here
}
/**
* Cancels all tasks that have been started by this extension
*/
private void cancelTasks()
{
roomHeartbeatTask.cancel();
}