一分鐘入門kotiln協程,線程切換

本文從頭到尾,就兩個字:簡單。

一、android項目中引入協程庫

非常簡單,在kotlinandroid項目中,添加兩個依賴庫,便可以享受協程了。

如下commit:https://github.com/vectorzeng/KotlinStudy/commit/49dbee4e2083ec786e755d5ca081cf35ce61ab15

引入kotlin,first kotlin

implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.3'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.3'

兩個lib的源碼倉庫分別爲:

  • https://github.com/Kotlin/kotlinx.coroutines

  • https://github.com/Kotlin/kotlinx.coroutines/tree/master/ui/kotlinx-coroutines-android

二、通過協程切換線程

coroutine 實現線程切換,更是極爲簡單。

如下代碼:https://github.com/vectorzeng/KotlinStudy/commit/2b1241221499557bebd60cd67b6192685e1e010a

override fun onCreate(savedInstanceState: Bundle?) {
  //上下文切換到IO主線程
  GlobalScope.launch(Dispatchers.IO) {
    Log.i(TG, "Dispatchers.IO isMainThread ${isMain()}")//輸出false

    //上下文切換到主線程
    GlobalScope.launch(Dispatchers.Main){
      Log.i(TG, "Dispatchers.Main isMainThread ${isMain()}")//輸出true
    }

  }
}

日誌輸出結果:

log




簡單嗎?

比起javahandlerThreadrxjava,是不是簡單的讓人覺得他有點美~

嗯,真香~

原文 && 更多kotlin技巧





關鍵詞:
android ; kotlin ; coroutines ; hello coroutines ; coroutine switch to thread ; coroutine to main thread ; coroutine switch io thread ; kotlin 協程入門 ; android 切換線程 ; kotlin 協程線程切換 ;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章