выполнения функции в несколько потоков. Основная цель - удобным способом избавиться от параллельных коллекций без доп. зависимостей. Вот что получилось с помощью SO (Duration.Inf на период PoC, по готовности заменю конечным временем) :
https://scastie.scala-lang.org/AV38JUA4QHS2dJh1k1Dbeg
Проблема в том, что это расширение не применимо к Array, а именно Array часто используется в приложении. Что лучше сделать и как сделать:
- переписать класс, чтобы компилятор смог генерализовать в том числе и Array,
- или заменить там, где это нужно, Array на другой тип коллекций (скорее всего List), и, если так, то какой тип лучше выбрать (может Vector заметно производительнее)? Scala 2.11.8
https://github.com/scala/scala-collection-compat/blob/master/compat/src/main/scala-2.11_2.12/scala/collection/compat/immutable/ArraySeq.scala
Метод seq вы реализовали сами вместо библиотечного Future.traverse, потому что принципиально важно иметь ограничение в N потоков?
Да, ограничение очень важно
Обсуждают сегодня