Давайте рассмотрим ситуацию:
import org.jboss.netty.util.HashedWheelTimer;
import org.jboss.netty.util.Timer;
import org.jboss.netty.util.Timeout;
import org.jboss.netty.util.TimerTask;
Timer timer = new HashedWheelTimer();
Timeout timeout = null;
void establishTimeout() {
timeout = timer.newTimeout(timerTask, delay, TimeUnit.SECONDS);
}
void cancelTimeout() {
timeout.cancel()
timeout = null;
}
public static void main(String[] args) {
establishTimeout();
cancelTimeout();
Thread.sleep(sleepDelay);
establishTimeout();
}
Что происходит на временной шкале:
0 : establishTimeout(), cancelTimeout()
sleepDelay : establishTimeout()
delay : timerTask.run()
Почему timerTask работает не на sleepDelay + delay
?Как заставить его работать как положено?