我经常想要并行化依赖于非线程安全共享资源的任务。考虑以下非线程安全类。我想在data: Vector[String]
.
class Processor { def apply: String => String }
基本上,我想创建n
线程,每个线程都有一个数据实例Processor
和一个分区。Scala 并行集合让我觉得并行化应该很简单。但是,它们似乎不太适合这个问题。是的,我可以使用演员,但 Scala 演员可能会被弃用,而 Akka 似乎有点矫枉过正。
首先想到的是有一个同步的映射,然后使用并行集合,在这个线程安全的映射中Thread -> Processor
查找我的。Processor
有没有更好的办法?