У меня есть итерация vals: Iterable[T]
и долговременная функция без каких-либо соответствующих побочных эффектов: f: (T => Unit)
. Сейчас это применяется к vals
очевидным образом:
vals.foreach(f)
Я бы хотел, чтобы вызовы f
выполнялись одновременно (в разумных пределах). Есть ли очевидная функция где-то в базовой библиотеке Scala? Что-то вроде:
Concurrent.foreach(8 /* Number of threads. */)(vals, f)
В то время как f
достаточно долго работает, он достаточно короткий, что я не хочу накладных расходов на вызов потока для каждого вызова, поэтому я ищу что-то на основе пула потоков.