Как мне заменить пул соединений fork для параллельной коллекции Scala 2.9?

Я смотрел новые параллельные коллекции Scala 2.9 и надеюсь отказаться от многих моих непослушных любительских версий подобных вещей. В частности, я хотел бы заменить пул соединений fork, который лежит в основе реализации по умолчанию, чем-то своим (например, чем-то, что распределяет оценку задач по сети через акторов). Насколько я понимаю, это просто вопрос применения парадигмы Scala «наращиваемых модификаций», но библиотека коллекций достаточно пугает, и я не совсем уверен, какие биты нужно изменить!

Некоторые конкретные вопросы:

  1. Это исправьте, что стандартные параллельные реализации взаимодействуют с пулом соединений fork исключительно через код в ForkJoinTasks ?
  2. Я вижу, что есть альтернативный признак, FutureThreadPoolTasks . Как мне создать коллекцию, которая использует эту черту вместо ForkJoinTasks ?
  3. Могу ли я просто написать еще одну альтернативу (и, возможно, соответствующий шаблонный класс, который смешивается с AdaptiveWorkStealingTasks и каким-то образом создавать экземпляр экземпляры коллекций, которые используют эту новую черту?

(Для справки, все упомянутые выше характеристики определены в Tasks.scala .)

Особенно приветствуются примеры кода!

19
задан Peter Mortensen 4 May 2013 в 08:24
поделиться