iT邦幫忙

coroutine相關文章
共有 66 則文章
鐵人賽 Mobile Development DAY 27

技術 day27 coroutine和任務的愛情長跑,application和workManager

之後四天,會講講以前面知識做基礎開發時,會遇到的問題 在前面,講到了coroutine是什麼,不妥善處理會有workleak,也介紹了他的exceptiom和取...

鐵人賽 Mobile Development DAY 4

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

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

鐵人賽 Mobile Development DAY 29

技術 day29 大量操作怎麼辦? 連volatile都救不了我QQ

我先講解法,再講為甚麼volatile沒用 那我會搭配文檔講,但其實不管情境怎麼會概念還是一樣的,這裡範例選用和文檔一樣的從1加到10萬 atomic原子性 前...

鐵人賽 Mobile Development DAY 10

技術 聊聊structure concurrency 結構化併發

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

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

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

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

鐵人賽 Mobile Development DAY 13

技術 day13 Kotlin coroutine channel操作

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

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

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

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

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

技術 Day27:測試 Coroutine

Coroutine 是非同步程式的解決方案,我們將耗時的任務置放在 suspend 函式中,在正常的使用 coroutine 情況之下,這些 suspend 函...

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

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

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

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

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

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

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

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

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

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

技術 Day9:Job vs SupervisorJob

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

鐵人賽 Mobile Development DAY 16

技術 day16 coroutine job 的那些狀態,job state

前言 今天東西不多,算是給前面做一個補充資訊,明天開始會講Flow了,又是會是超長的文章 正文 想不到吧? job也有生命週期,我沒有亂套名詞喔,文檔自己寫li...

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

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

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

鐵人賽 Mobile Development DAY 26

技術 day26 老闆我趕時間,給我最快完成的料理 select

提醒,select仍是實驗中的api,請斟酌使用 在這之前的26天,我們所用的都是我要做什麼事,就是做什麼事,不會有條件的選取,但作為android的開發者,一...

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

技術 Day16:四種不同的 Channel

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

鐵人賽 Modern Web DAY 21

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

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

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

技術 Day26:Flow 的運算子 - buffer()

Flow 是依序執行的,如果使用 collect 作為終端運算子,那麼在最後就會按照每一個元素所要花費的時間一一的執行,並把結果吐出來。 如下面的範例: cla...

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

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

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

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

技術 Day30:The end is not the end

不知不覺過了三十天,在這三十天中,我們學習了 Coroutine 的每一個面向,我們知道 Coroutine 是用來解決非同步程式執行的問題,它讓我們在面對非同...

鐵人賽 Mobile Development DAY 28

技術 ETA screen testing (2)

上一篇我們寫了一些 EtaViewModel 的測試,這一篇會集中寫跟時間相關的測試。 之前在 EtaViewModel 我們定義了更新一次的間距常數 AUTO...

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

技術 Day21:Hot Flow - SharedFlow

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

鐵人賽 Mobile Development DAY 13
Kotlin 全面啟動 系列 第 13

技術 [Kotlin 全面啟動] Coroutine II

昨天我們談了蠻多概念的,今天就讓我們具體談 Coroutine 的實作細節吧! Suspend function Suspend 是使用 Coroutine 的...

鐵人賽 影片教學 DAY 7

技術 Day7. 我的第一個Telegram Bot (6) : Webhook

已經開始陷入半夜12點製片的for迴圈了@@"好險現在的i值已經小於等於23...(暈~) (溫馨小提醒:影片畫質設成1080會比較清楚喔!!) K...

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

技術 Day28:複習 Coroutine

不知不覺來到了第28天,最後我們來做個複習吧。 Coroutine 的目的 用來解決非同步程式執行的問題,在以前面對非同步的程式時,我們可能需要建立一個新的執行...

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

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

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

鐵人賽 Mobile Development DAY 12
Kotlin 全面啟動 系列 第 12

技術 [Kotlin 全面啟動] Coroutine

還記得昨天講 expect/actual 的時候提到了 Coroutine 嗎?作為 Kotlin 一個非常重要功能,今天我們就單獨拉一篇來介紹一下。 雖然說...

鐵人賽 影片教學 DAY 6

技術 Day6. 我的第一個Telegram Bot (5) : Ktor

影片做好才發現一開始就口誤,把第六天講成第五天@@"(該喝RedBull了...) 今天練習用的Sample:KtorDay6-TelegramSam...

鐵人賽 Mobile Development DAY 15

技術 day15 job的騷操作

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

鐵人賽 Mobile Development DAY 14
Kotlin 全面啟動 系列 第 14

技術 [Kotlin 全面啟動] Coroutine III

本文就是 Coroutine 的最後一篇了,當然圍繞著 Coroutine 一定還有很多主題可以分享,但局限於鐵人賽篇幅,今天我們就著重在於怎麼切 Thread...