Kotlin協程筆記

2021-10-09 18:12:04 字數 841 閱讀 3170

阻塞主線程,等待協程執行完,才會繼續執行主線程

不會阻塞主線程,返回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 耗時 ...