//kotlin 協程
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.2.1"
1、runblocking:會一直阻塞到塊中的**執行完
runblocking
}job.join()//等待直到子協程執行結束 主協程與後台作業的持續時間沒有任何關係了
log.e("zxy", "張老爺")
}
2、lauch:開啟乙個工作協程job
3、job.cancel() // 取消乙個協程
4、job.cancelandjoin() // 取消乙個協程並且等待它結束
5、job.join://等待直到子協程執行結束,結構化的併發,無結果
6、delay:非阻塞的函式,掛起,協程進入執行緒池空閒執行緒,類似於sleep
7、repeat:協程中迴圈
8、async和await:協程中非同步執行及等待非同步結果再執行,結構化的併發,有結果
globalscope.launch
log.e("zxy", async.await())//等待async執行的結果
}
9、coroutinescope :(感覺作用不大)執行緒作用域,不會阻塞當前執行緒,所有已啟動子協程執行完畢之前不會結束
10、suspend:掛起函式,呼叫suspend方法, 非同步的資料像同步一樣return了
//掛起方法
suspend fun download()
11、withcontext(noncancellable) ,在finally
中,關閉乙個檔案、取消乙個作業、或是關閉任何一種通訊通道
12、withtimeout和withtimeoutornull操作超時
runblocking
}}
13、send和receive的使用
runblocking
repeat(5) ")
}}
Kotlin協程筆記
會阻塞主線程,等待協程執行完,才會繼續執行主線程 不會阻塞主線程,返回job型別的物件 var job globalscope.launch 3 async 用於啟動乙個非同步協程任務,與launch用法基本一樣,不阻塞執行緒,區別在於 async的返回值是deferred,將最後乙個封裝成了該物件...
Kotlin協程快速入門
協程,全稱可以譯作協同程式,很多語言都有這個概念和具體實現,之前入門python的時候接觸過,而kotlin其實也早就有這個擴充套件功能庫了,只不過之前一直處於實驗階段,不過前段時間1.0的正式版終於出了,網上的相關部落格也多了起來,經過這幾天的學習我也來做下小結吧。首先貼下kotlin協程的官方g...
Kotlin 協程輕量 協程與執行緒對比
本例使用協程和執行緒兩個方式執行一段任務 協程 任務是每秒列印出兩個 執行100 000個任務 test fun testmet runblocking println val end system.currenttimemillis println end time end println 耗時 ...