其他分享
首页 > 其他分享> > android – Kotlin runBlocking在后台线程

android – Kotlin runBlocking在后台线程

作者:互联网

我正在将现有应用程序从Java转换为Kotlin.
该应用程序创建一个在后台线程中运行的IntentService,其任务是执行一些操作,这些操作会反复无限地阻止线程(例如网络调用,数据库交互)和挂起函数.
由于“当前线程”实际上是后台线程,因此我没有阻止UI.

在当前线程上使用runBlocking来运行所有挂起函数是一个好习惯吗?还是有更好的方法?

解决方法:

这正是runBlocking的用法. runBlocking被添加到协同程序,以在协同程序的用户和正在执行代码阻塞的其他地方之间创建一个桥梁.如果你想要一个线程被阻塞并等待一个协程的执行,你应该总是使用runBlocking.

标签:android,multithreading,kotlin,kotlinx-coroutines
来源: https://codeday.me/bug/20190705/1387213.html