fx块内的IO调度器VS KotlinX调度器



使用IO时,在fx块中,我可以将continueOndispatchers.io()一起使用,但也可以使用Dispatchers.IO或混合。有没有首选的方式?这两者有什么区别吗?

注意:我也在使用协同程序集成来运行IO

IO.fx {
effect { _viewState.postValue(ViewState.Loading) }.bind()
continueOn(dispatchers().io()) // dispatchers from Arrow
val repositoryDto: RepositoryDto = effect { service.getRepository() }.bind()
continueOn(Dispatchers.Default) // Dispatchers from Coroutines
ViewState.Content(repositoryDto)
}

没有首选方式,用户可以选择使用其中一种,也可以同时使用两者。

Arrow Fx的池提供了几个简单的Executor池,类似于其他功能效果库。这些都是非常有效的功能方法。

另一方面,KotlinX的调度器目前提供了更多的功能,如EventLoop,它通过ServiceLoader加载Main调度器,并提供测试支持。

我也在使用协同程序集成来运行IO

Arrow Fx的IO的KotlinX集成模块仅用于与结构化并发CoroutineScope集成。

相关内容

  • 没有找到相关文章

最新更新