科特林的協和(二),什麽是科特林的協和,什麽是暫停,以及暫停的非阻塞。
科特林的索引(3),開始創建索引,啟動,與上下文。
科特林的協和(四),協和的核心關鍵詞,暫停
科特林的協程(5),啟動函數以及協程的取消和超時。
科特林的協和(七),協和中接力與屈服的區別
啟動功能定義:
異步函數定義:
從源代碼中我們可以看出,launch和async唯壹的區別就是async的返回值。
Async返回壹個延遲類型,它是從作業接口繼承的。Job擁有壹切,並添加了壹個方法await。該方法接收從異步閉包返回的值。async的特點是不會阻塞當前線程,但是會阻塞所在的線程,也就是掛起。
由runBlocking啟動的協程任務將阻塞當前線程,直到協程的執行結束。只有在流程執行完成後,頁面才會顯示。
RunBlocking通常適用於單元測試場景,但是在業務開發中不會用到這個函數。