我一直在研究新的 Scala 2.9 并行集合,并希望放弃很多我粗鲁的业余版本的类似东西。特别是,我想用我自己的东西(例如,通过参与者在网络上分配任务评估的东西)替换默认实现基础的分叉连接池。我的理解是,这只是应用 Scala 的“可堆叠修改”范式的问题,但集合库足够吓人,我不确定哪些位需要修改!
一些具体的问题:
- 标准并行实现仅通过代码与分叉连接池交互是否正确
ForkJoinTasks
? - 我看到有一个替代特征,
FutureThreadPoolTasks
. 我将如何构建一个使用此特征而不是 的集合ForkJoinTasks
? - 我可以写另一个替代方案(也许是一个相应的样板类,它混合
AdaptiveWorkStealingTasks
并以某种方式实例化使用这个新特性的集合实例?
(作为参考,上面提到的所有特征都在Tasks.scala中定义。)
特别是代码示例非常受欢迎!