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