协程又称轻量级线程,在kotlin中可以用来代替线程。
- 通常模式 GlobalScope.launch:
GlobalScope.launch {
test1()
}
}
private fun test1() {
Log.d(TAG, "test1")
}
通常模式相当于线程的new Thread() {}.start()
指定上下文:
GlobalScope.launch(Dispatchers.Main/Dispatchers.IO/Dispatchers.Default/Dispatchers.Unconfined) {
}
指定启动模式DEFAULT/LAZY/ATOMIC/UNDISPATCHED,除LAZY外其它几个都是立即执行,LAZY:
val job = GlobalScope.launch(start=CoroutineStart.LAZY) {
testSuspend()
}
job.start()//这时候才执行
- runBlocking
runBlocking相当于线程的start() + join()
testRunBlocking()
Log.d(TAG,