Асинхронный ввод-вывод в Scala с фьючерсами

Позволять'скажи яm (потенциально большой) список изображений для загрузки с некоторых URL. Я'Я использую Scala, поэтому я бы сделал следующее:

import scala.actors.Futures._

// Retrieve URLs from somewhere
val urls: List[String] = ...

// Download image (blocking operation)
val fimages: List[Future[...]] = urls.map (url => future { download url })

// Do something (display) when complete
fimages.foreach (_.foreach (display _))

Я немного новичок в Scala, так что для меня это все еще немного похоже на магию:

Это правильный способ сделать это? Есть ли альтернативы, если это не так?Если у меня будет 100 изображений для загрузки, это создаст 100 потоков одновременно или будет использоваться пул потоков?Будет последняя инструкция (display _) выполняется в главном потоке, и если нет, то как я могу убедиться в этом?

Спасибо за совет!

Ответы на вопрос(3)

Ваш ответ на вопрос