dea*_*dpa 3 concurrency scala http
我最近对学习Scala感兴趣(目前主要通过Project Euler工作),我已经决定了一个我想写的简单程序:一个简单的并发下载程序.我很难绕过一个很好的方法来做这件事.
我很了解Python,我喜欢gevent库的工作方式.我想做的就是在这里用gevent解决.有没有一种简单的方法在Scala中做这样的事情,或者我完全走错了路?我看过Dispatch库,但似乎难以理解.我应该使用演员吗?
任何帮助或指导将不胜感激.谢谢.
好吧,我确实同意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
Run Code Online (Sandbox Code Playgroud)
这将为您提供bash.org并行的前100个引号的文件.
| 归档时间: |
|
| 查看次数: |
598 次 |
| 最近记录: |