小编Dar*_*kup的帖子

Scala中的Akka和第三方Java库的最佳实践

我需要在我的Scala/Akka代码中使用memcached Java API.此API为您提供同步和异步方法.异步的返回java.util.concurrent.Future.这里有一个关于在Scala中处理Java Futures的问题如何在Akka Future中包装java.util.concurrent.Future?.但在我的情况下,我有两个选择:

  1. 在将来使用同步API和包装阻止代码并标记阻塞:

    Future {
      blocking {
        cache.get(key) //synchronous blocking call
      } 
    }
    
    Run Code Online (Sandbox Code Playgroud)
  2. 使用异步Java API并在Java Future上每隔n ms轮询一次以检查未来是否已完成(如上面链接问题中的上述答案之一所述).

哪一个更好?我倾向于第一种选择,因为轮询可以极大地影响响应时间.不应该blocking { }阻止阻止整个池?

java concurrency asynchronous scala akka

13
推荐指数
1
解决办法
1324
查看次数

标签 统计

akka ×1

asynchronous ×1

concurrency ×1

java ×1

scala ×1