我正在将现有应用从 Java 转换为 Kotlin。
该应用创建了一个在后台线程中运行的 IntentService,其任务是执行一些阻塞线程的操作(例如网络调用、数据库交互),并使用 suspend
函数重复且无限期地执行.
由于“当前线程”实际上是一个后台线程,所以我不会阻塞 UI。
在当前线程上使用 runBlocking
来运行所有挂起函数是一个好习惯吗?或者有更好的方法?
最佳答案
这正是runBlocking
的用法。 runBlocking
被添加到协程中,以在 coroutines
的用户和其他正在执行代码的地方之间架起一座桥梁。如果您希望线程被阻塞并等待协程的执行,您应该始终使用 runBlocking
。
关于android - Kotlin 在后台线程上运行阻塞,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54423748/