Dmi*_*kov 3 java kotlin kotlin-coroutines
在迁移到 Kotlin 的过程中,问题出现了。
由于不同的原因,我们已经有了一些线程池。
如何在现有的 ThreadPool 上执行协程?
例如这个代码:
suspend fun fetchMedia(): Flow<MediaItem> {
return withContext(Dispatchers.IO) {...}
}
Run Code Online (Sandbox Code Playgroud)
如何将 Dispatchers.IO 替换为我自己的 ThreadPoolExecutor ?
您可以使用 Executor ThreadPools 调用asCoroutineDispatcher()它,如下所示:
suspend fun fetchMedia(): Flow<MediaItem> {
return withContext(myThreadPool.asCoroutineDispatcher()) {...}
}
Run Code Online (Sandbox Code Playgroud)