开发者社区 问答 正文

如何在我的ThreadPoolExecutor上创建自定义的Kotlin协程分派器?

在迁移到科特林的过程中,出现了问题。 由于不同的原因,我们已经有了一些ThreadPools。 如何在现有的ThreadPool上执行协程?

例如此代码:

    suspend fun fetchMedia(): Flow<MediaItem> {
        return withContext(Dispatchers.IO) {...} 
    }

如何将Dispatchers.IO替换为我自己的ThreadPoolExecutor?

问题来源:Stack Overflow

展开
收起
montos 2020-03-27 22:38:55 888 分享 版权
1 条回答
写回答
取消 提交回答
  • 您可以使用Executor ThreadPools对其进行调用asCoroutineDispatcher(),如下所示:

    suspend fun fetchMedia(): Flow<MediaItem> {
        return withContext(myThreadPool.asCoroutineDispatcher()) {...} 
    }
    

    回答来源:Stack Overflow

    2020-03-27 22:39:14
    赞同 展开评论
问答分类:
问答标签:
问答地址: