Я использую стандартную среду Google App Engine и ищу способ заменить стандартные kotlinx.couroutine.Dispatchers
(IO
, .Default
и .Main
) пользовательскими диспетчерами. Это необходимо, поскольку каждый поток, созданный в обработчике приложения, должен быть создан специальной фабрикой потоков: com.google.appengine.api.ThreadManager.currentRequestThreadFactory()
. С этим ThreadFactory
я могу создать Dispatcher
:
val threadFactory = ThreadManager.currentRequestThreadFactory()
val numberOfThreads = 2
val executorService = Executors.newFixedThreadPool(numberOfThreads, threadFactory)
val coroutineDispatcher = executorService.asCoroutineDispatcher()
Но я не могу заменить диспетчеров по умолчанию. Есть ли способ или другое решение для этого?