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