Gleichzeitige anzeigen/foreach in scala

Ich habe eine iteration vals: Iterable[T] und eine lang andauernde Funktion ohne relevante Nebenwirkungen: f: (T => Unit). Das ist im Augenblick angewendet, um vals in der offensichtlichen Weise:

vals.foreach(f)

Ich würde gerne die Aufrufe f zu tun, die gleichzeitig (innerhalb vernünftiger Grenzen). Ist es eine offensichtliche Funktion, die irgendwo in der Scala Basis-Bibliothek? So etwas wie:

Concurrent.foreach(8 /* Number of threads. */)(vals, f)

Während f ist ziemlich lange laufen, es ist kurz genug, dass ich nicht wollen, dass der overhead für den Aufruf einer thread für jeden Anruf, also ich bin auf der Suche nach etwas, das basierend auf einem thread-pool.

Schreibe einen Kommentar