一、协程是什么?
携程就是Kotlin的线程框架,类似于Thread、executors、Handler等等。
二、使用
在{}代码块就是携程,调用
GlobalScope.launch(Dispatchers.Main) {
var s=suspendSetTitle("123") //协程
}
suspend fun suspendSetTitle(title: String): String {
withContext(Dispatchers.IO) {
setTitle(title)
}
return "0000"
}
三、关键字介绍
GlobalScope:是协程的启用类,调用launch并设定协程在什么线程中启动。
Dispatchers:该字段声明代码块最终会在什么线程中运行。
suspend:告诉调用者,该关键字修饰的方法可能含有耗时的操作,需要在携程中调用,并在该代码块中使用withContext方法。
withContext:该方法包裹的代码块运行前会挂起协程,将withContext代码块中耗时操作优先执行完后继续在main线程中运行,这时才会返回“0000”.