Scala 并发编程:并行集合、Future 与 JDBC 交互
1. 并行集合与 Future
在 Scala 中,并行集合和 Future 是实现并发编程的强大工具,能极大提升代码执行效率和响应性。
1.1 Future 失败传播
当 Future 中的某个步骤失败时,包含异常的 Try 实例会被传播。例如:
scala> val strResponse = Future {
Source.fromURL("empty").mkString
}
scala> val xmlResponse = strResponse.map {
s => XML.loadString(s)
}
scala> xmlResponse.value
Option[Try[xml.Elem]] = Some(Failure(MalformedURLException: no protocol: empty))
可以将失败的 Future 视为空容器,对空列表应用 map 操作会返回空列表,对失败的 Future 应用 map 操作也会返回失败的 Future。
1.2 阻塞直到完成
在 Scala 中,获取股票价格的代码在 shell 中运行正常,但在独立程序中可能不会按预期输出。例如以下代码:
// BlockDemo.sca
超级会员免费看
订阅专栏 解锁全文
11

被折叠的 条评论
为什么被折叠?



