我正在使用该方法来缓存使用 http 调用的函数的结果。我的代码看起来像这样,并且 http 可能已经很糟糕了。
def myData: Iterable[String] = {
Cache.getOrElse[Iterable[String]](cacheKey, cacheExpiration)(Await.result(myHttpCallFunction(), Duration.apply(500, TimeUnit.MILLISECONDS)))
}
我曾经把它当作
val myData: Iterable[String] = Await.result(myHttpCallFunction(), Duration.apply(500, TimeUnit.MILLISECONDS))
我的代码线程现在安全吗?或者我应该做点别的。我必须说我对 scala 很陌生,而且我对它的内部工作不是很熟悉。如果它不是线程安全的:我怎样才能做到这一点?