3

这是另一个TimerTaskvs ScheduledThreadPoolExecutorvs netty 的HashedWheelTimer问题。

我正在查看播放框架文档。里面有一个方法调用timeoutplay.api.libs.concurrent.Promise基本上它安排要执行的任务。这是实现:

private val timer = new java.util.Timer()

def timeout[A](message: => A, duration: Long, unit: TimeUnit = TimeUnit.MILLISECONDS)(implicit ec: ExecutionContext): Future[A] = {
val p = Promise[A]()
timer.schedule( new java.util.TimerTask{
  def run(){
    p.completeWith(Future(message)(ec))
  }
},unit.toMillis(duration) )
p.future

}

为什么他们TimerTask在这里使用什么时候SCTE是一个更好的实现。为什么HashedWheelTimer连 Akka 都使用netty'sscheduler呢?一个人怎么比另一个人优越。

4

0 回答 0