iT邦幫忙

coroutine相關文章
共有 66 則文章
鐵人賽 Software Development DAY 25
Coroutine 停看聽 系列 第 25

技術 Day 25:[Android] 將 LiveData 用 Flow 替代吧

LiveData 是 Android 中一個很有用的項目,它是一種可觀察(Observe)的資料存儲器類(data holder)。它會感知 Android 的...

鐵人賽 Mobile Development DAY 15

技術 day15 job的騷操作

今天再講些簡單的,順便複習複習前面的東西,之後又有幾天比較硬的內容我們每次創建coroutine都匯回傳一個job,而我們除了cancel,還可以用他的其他方法...

鐵人賽 Software Development DAY 24
Coroutine 停看聽 系列 第 24

技術 Day24:Hot flow - State Flow (part II)

前一篇文章中,我們介紹了 State Flow 以及它的使用方式,本篇將繼續討論 State Flow。 我們知道 SharedFlow 有提供一個函式能夠讓一...

鐵人賽 Mobile Development DAY 14

技術 day14 channel實戰使用 with webSocket,後面離題講android接localhost

前言,今天寫一寫就離題了QQ,前面用ktor架websocket,在手機app接起來,複習一下channel的特性,後面離題講了手機怎麼接到localhost...

鐵人賽 Software Development DAY 23
Coroutine 停看聽 系列 第 23

技術 Day23:Hot Flow - StateFlow

State Flow 是從 Shared Flow 繼承而來的,跟 Shared Flow 不同的地方在於它是有初始值的,至少會重播一個值給訂閱者,所以它最少會...

鐵人賽 Mobile Development DAY 13

技術 day13 Kotlin coroutine channel操作

儘管大家講coroutine都會提到channel和flow,然後開始比較,但我個人覺得channel和flow兩個你都沒有概念的時候,聽我比較很難知道我在說什...

鐵人賽 Software Development DAY 22
Coroutine 停看聽 系列 第 22

技術 Day22:Hot Flow - SharedFlow (Part II)

昨天我們使用了 shareIn 將 Flow 轉成 SharedFlow, 我們來研究一下這個函式。 public fun <T> Flow<...

鐵人賽 Mobile Development DAY 12

技術 day12 輕鬆一下,用 coroutine 接個 restful api

鑒於我文章越寫越長,偏離了我原本想讓人輕鬆閱讀的感覺,決定寫個新手實用,以coroutine接個restful api的例子,如果你已經很會接了,這篇完全可以跳...

鐵人賽 Modern Web DAY 21

技術 [Day 21] 使用 Coroutine SendChannel 處理非同步工作

系統除了即時接受及回應使用者請求,也需要執行各種非同步工作,例如背景排程及寄送訊息通知…等。在實作上,雖然我可以直接使用 CompletableFuture,...

鐵人賽 Software Development DAY 21
Coroutine 停看聽 系列 第 21

技術 Day21:Hot Flow - SharedFlow

Flow 是 cold stream,只有在呼叫 Terminal operator 的時候才會執行。也就是說每一個 Flow 都只有一次性的工作,只要呼叫一次...

鐵人賽 Mobile Development DAY 11

技術 day11 Kotlin coroutine 花生什麼事?

前面我講10篇了,告訴你們coroutine是什麼,怎麼用,如何切thread,和她背後發生什麼事 其實有人要我寫那些內建的suspend function,但...

鐵人賽 Software Development DAY 20
Coroutine 停看聽 系列 第 20

技術 Day20:Flow 想在其他的執行緒執行,可以嗎?

Flow 是屬於 coroutine 範圍項目,coroutine 中一個重要的特點可以輕易的切換執行緒,在 Flow 也有這項功能嗎? 我們知道要在 Coro...

鐵人賽 Mobile Development DAY 10

技術 聊聊structure concurrency 結構化併發

前面我們談了,coroutine的coroutineScope、繼承、異常處理和取消,也在文中提到了他們和structure concurrency的特性,想必...

鐵人賽 Mobile Development DAY 9

技術 day9 Kotlin coroutine 的黑魔法 suspend

suspend他並不能切換線程,切換線程的是內部自帶的suspend函數,ex. withContext coroutine只是能用阻塞寫法寫出非阻塞代碼,本質...

鐵人賽 Software Development DAY 19
Coroutine 停看聽 系列 第 19

技術 Day19:Flow 準備好輸出了嗎?使用 Terminal operators 產生結果吧。

Flow 經過 Intermediate operators 將資料經過處理之後,最後一步則是要把資料輸出,而將資料輸出則是要透過 Terminal opera...

鐵人賽 Software Development DAY 18
Coroutine 停看聽 系列 第 18

技術 Day18:Flow 的中間運算子,資料輸出前還可以做很多事喔

我們在上一篇的文章中,介紹了 Flow 的基本概念,包括如何建立一個 Flow,以及 Flow 是一個 Cold stream,所謂的 cold stream...

鐵人賽 Mobile Development DAY 8

技術 day8 kotlin coroutine的 runBlocking, withContext

runBlocking 中文用戶如我們? 直譯一下就是,跑一個塞住 恩,三小? 他真正的意思是,執行一個程式碼區塊,但他的一個特點就是,他真的會塞住,有別於la...

鐵人賽 Software Development DAY 17
Coroutine 停看聽 系列 第 17

技術 Day17:Flow,一個非同步的資料流。 First Look

What is Flow? Flow 是用來處理非同步的資料流的一種方式,它會按照發射 (emit) 的順序來執行。 An asynchronous data...

鐵人賽 Mobile Development DAY 7

技術 day7 我不要了,這不是肯德基 cancel

Cancellation is important for avoiding doing more work than needed which can was...

鐵人賽 Software Development DAY 16
Coroutine 停看聽 系列 第 16

技術 Day16:四種不同的 Channel

在上一篇文章我們建立 Channel 時,使用 Channel<E>() 來建立一個 Channel。這個方法是由 Coroutine 所提供的一個...

鐵人賽 Mobile Development DAY 6

技術 day6 阿伯出事啦 exception

Coroutine支援kotlin一般的Exception處理 try/catch/finally, 或是runningCatch (內部依然使用try/cat...

鐵人賽 Software Development DAY 15
Coroutine 停看聽 系列 第 15

技術 Day15:Channel 的第一堂課

在前面的文章中,我們介紹了 coroutine 的基本原理,如何使用 launch 、 async 建立 CoroutineScope,如何選擇適當的調度器,讓...

鐵人賽 Mobile Development DAY 5

技術 day 5 knock, knock我要開始coroutine

coroutine神奇又好用,那我要怎麼開始呢?官方提供了兩種方法,launch和 async launch launch的意思,大概是我要這裡創造新的coro...

鐵人賽 Mobile Development DAY 4

技術 day 4 I'm your father, coroutine父子繼承關係

上面講到job會由系統分配,但為什麼我們又能把job當作參數傳入coroutine呢? 繼承 在前面講過,我們可以在coroutine再建立coroutine,...

鐵人賽 Software Development DAY 14
Coroutine 停看聽 系列 第 14

技術 Day14:內建的 suspend 函式,好函式不用嗎? (3)

這是我們內建的 suspend 函式第三篇,讓我們看看有哪些吧: joinAll() 還記得 join() 的功能是什麼嗎?join() 可以讓目前的 cor...

鐵人賽 Software Development DAY 13
Coroutine 停看聽 系列 第 13

技術 Day13:內建的 suspend 函式,好函式不用嗎? (2)

withContext suspend fun<T> withContext(context: CoroutineContext,...

鐵人賽 Software Development DAY 12
Coroutine 停看聽 系列 第 12

技術 Day12:內建的 suspend 函式,好函式不用嗎?(1)

Coroutine 的三大要素不知道大家還記得嗎?CoroutineScope、Suspend function、Dispatchers。 CoroutineS...

鐵人賽 Software Development DAY 11
Coroutine 停看聽 系列 第 11

技術 Day11:調度器(Dispatchers),我跳進來了,又跳出去了

Coroutine 一個重要的特性就是可以輕易的切換執行緒,不過 Coroutine 是使用 CoroutineDispatcher (調度器) 來切換執行緒,...

鐵人賽 Software Development DAY 10
Coroutine 停看聽 系列 第 10

技術 Day10:例外處理,留下來或我跟你走

程式在執行的時候,有些時候我們會遇到一些例外的情況,我們一般會使用 try-catch 來攔截程式執行所拋出的例外,用 try-catch 攔截到之後,我們就可...

鐵人賽 Software Development DAY 9
Coroutine 停看聽 系列 第 9

技術 Day9:Job vs SupervisorJob

還記得launch 的回傳值是 Job 嗎?我們可以使用 job 的 cancel() 來取消該 Coroutine。不知道你有沒有想過 Job 是什麼東西呢?...