3

これは、TimerTaskvs ScheduledThreadPoolExecutorvs netty のもう 1 つのHashedWheelTimer質問です。

Play フレームワークのドキュメントを見ていました。と呼ばれるメソッドがありtimeoutますplay.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ここで使用したのですか。Akka でさえSCTEnetty を使用していないのはなぜですか? ある人が他の人よりもどのように優れているか.HashedWheelTimerscheduler

4

0 に答える 0