Я смотрел новые параллельные коллекции Scala 2.9 и надеюсь отказаться от многих моих грубых любительских версий подобных вещей. В частности, я хотел бы заменить пул соединений fork, который лежит в основе реализации по умолчанию, чем-то своим (например, чем-то, что распределяет оценку задач по сети через акторов). Насколько я понимаю, это просто вопрос применения парадигмы Scala «наращиваемых модификаций», но библиотека коллекций достаточно устрашающая, и я не совсем уверен, какие именно биты нужно изменить!
Некоторые конкретные вопросы:
- Верно ли, что стандартные параллельные реализации взаимодействуют с пулом объединения вилок исключительно через код в _ 1_?
- Я вижу, что есть альтернативная черта, _2 _ а>. Как мне создать коллекцию, в которой используется этот признак вместо
ForkJoinTasks
? - Могу я просто написать еще одну альтернативу (и, возможно, соответствующий шаблонный класс, который смешивается с _ 4_ и каким-то образом создать экземпляры коллекций, использующие эту новую черту?
(Для справки, все упомянутые выше черты определены в Tasks.scala.)
Особенно приветствуются примеры кода!