java 协程_你真的了解kotlin的协程么?
生活随笔
收集整理的這篇文章主要介紹了
java 协程_你真的了解kotlin的协程么?
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
協程我的理解是協作的線程,就是說與主線程協作的線程,也就是工作線程。
而協程的本質確實是這樣。Kotlin協程的底層就是Java的多線程,協程就是一個比較方便的線程框架。協程這種線程框架有什么好處呢?它的好處是用同步的代碼寫出異步的邏輯,消除了Java中的回調。Java中是有回調地獄的。。。
構建協程的函數有兩個,一個是launch,一個是async。其中,async是帶返回值的launch。這點從函數名也能看出來,launch 更多是用來發起一個無需結果的耗時任務(如批量文件刪除、創建),這個工作不需要返回結果。async 函數則是更進一步,用于異步執行耗時任務,并且需要返回值(如網絡請求、數據庫讀寫、文件讀寫),在執行完畢通過 await() 函數獲取返回值。
launch與async同時使用。
用withContext可以解決用多個嵌套launch引起的回調地獄問題。
我們可以把withContext的內容放到一個單獨的方法中,但是這個方法必須用suspend修飾。
總結
以上是生活随笔為你收集整理的java 协程_你真的了解kotlin的协程么?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: html空格代码_编写灵活、稳定、高质量
- 下一篇: java五子棋代码详解_java打卡9.