會阻塞主線程,等待協程執行完,才會繼續執行主線程
不會阻塞主線程,返回job型別的物件
var job = globalscope.
launch
}
3、async
用於啟動乙個非同步協程任務,與launch用法基本一樣,不阻塞執行緒,區別在於:async的返回值是deferred,將最後乙個封裝成了該物件。async可以支援併發,此時一般都跟await一起使用。
globalscope.
launch
val res2 = globalscope.
async
val res = res1.
await()
+ res2.
await()
log.
i(tag,
"oncreate: $res")}
private
suspend
fungetres1()
: int
private
suspend
fungetres2()
: int
Kotlin協程快速入門
協程,全稱可以譯作協同程式,很多語言都有這個概念和具體實現,之前入門python的時候接觸過,而kotlin其實也早就有這個擴充套件功能庫了,只不過之前一直處於實驗階段,不過前段時間1.0的正式版終於出了,網上的相關部落格也多了起來,經過這幾天的學習我也來做下小結吧。首先貼下kotlin協程的官方g...
Kotlin 協程學習記錄
kotlin 協程 implementation org.jetbrains.kotlinx kotlinx coroutines core 1.2.1 1 runblocking 會一直阻塞到塊中的 執行完 runblocking job.join 等待直到子協程執行結束 主協程與後台作業的持續時...
Kotlin 協程輕量 協程與執行緒對比
本例使用協程和執行緒兩個方式執行一段任務 協程 任務是每秒列印出兩個 執行100 000個任務 test fun testmet runblocking println val end system.currenttimemillis println end time end println 耗時 ...