在Python中,我通常会使用标准库中的队列(这是线程安全的),并编写一个消耗队列中URL的函数,并将下载的内容保存到磁盘。我会在threading.Threads中生成一些这样的函数。如果下载失败,我会将相同的URL再次放入队列中。
在Scala中编写类似的并发下载程序的惯用方法是什么?我应该使用哪些抽象?
答案 0 :(得分:0)
此任务有几个选项:
Future
组合子(这是相当低级别的恕我直言)Akka
工具包的演员(我会用这个)您可以查看此示例项目Akka downloader
如果您更喜欢期货,请查看此示例:Scala Futures Downloader