我最近对学习Scala感兴趣(目前主要通过Project Euler工作),我决定使用一个简单的程序:一个简单的并发下载程序。我很难绕过一个好方法来做这件事。
我非常了解Python,我喜欢gevent库的工作方式。我想做的是用gevent here来解决。有没有一种简单的方法在Scala中做这样的事情,或者我完全走错了路?我看过Dispatch库,但似乎难以理解。我应该使用演员吗?
任何帮助或指导将不胜感激。感谢。
答案 0 :(得分:6)
好的,我确实同意Dispatch文档目前有点粗糙和小,但未来可能会发生变化(这是很多很棒的Scala库的情况)。
但是根据您的需要应用Dispatch的结果非常引人注目:
import dispatch._
(1 to 100).map{ i =>
Http(url("http://bash.org/?" + i) OK as.String)
}.map{ f =>
try {Some(f.apply)} catch {case e => println(e.getMessage); None}
}.seq.flatten
这将为您提供bash.org
前100个引号的文件。