Реализуйте параллельную обработку списка с помощью ParallelProcessor
, который будет
запускать операции обработки в несколько потоков (число потоков передаётся извне, см. solution()
).
В простом варианте должны быть реализованы функции minWithOrNull
и all
, в сложном –
дополнительно filter
, map
, joinToString
.
Переданные компараторы, предикаты и функции могут работать долго. Можно считать, что число потоков невелико.
В этом задании нельзя использовать java.util.concurrent.*
, kotlinx-coroutines
и другие
высокоуровневые инструменты для организации параллелизма. Цель – поработать с примитивами.