@RandomGuyDude
Nothing here yet.
Nothing here yet.
No blogs yet.
Hi, why not create the dispatcher within the extension function? Like: fun < T, R > Iterable < T > .map( concurrency: Int, transform: (T) - > R ): List < R > = runBlocking { val dispatcher = Executors.newFixedThreadPool(concurrency).asCoroutineDispatcher() //... That way we do not need semaphores, but can limit the thread count for each call to the extension function.