Scala并发编程与命令行工具使用指南
1. Scala并发编程基础
1.1 回调函数与组合器
在Scala中, onComplete
、 onSuccess
和 onFailure
的返回类型为 Unit
,因此它们不能被链式调用。这种设计是有意为之,旨在避免给人回调函数会按特定顺序执行的错觉。
当需要并行运行多个计算,并在它们完成后合并结果时,使用组合器(如 map
、 foreach
)和 for
推导式能提供更简洁、易读的代码。
recover
、 recoverWith
和 fallbackTo
组合器可用于处理未来( Future
)的失败情况。若应用这些组合器的未来成功返回,你将得到期望的结果;若失败,这些方法会按其名称所示,让你从失败中恢复。例如:
val meaning = calculateMeaningOfLife() fallbackTo 42
andThen
组合器提供了一种优雅的语法,用于在未来返回时运行任意代码:
var meaning = 0
future {
meanin