iT邦幫忙

coroutine相關文章
共有 66 則文章

技術 Kotlin - 當CoroutineScope中發生Exception的各種狀況

先談談於coroutine中發生exception的時候會有什麼事情發生,先來看看一般的狀況 import kotlinx.coroutines.* susp...

鐵人賽 Modern Web DAY 29

技術 第二十九章、高效能PHP: Anser 與非阻塞常駐型 PHP Web 伺服器 - PHP 微服務入門與開發

經過了前兩章的分享,我們成功地使用 PHP 建立起了一個非阻塞的常駐型伺服器。本章我們將關注於如果將 Workerman 與 Swow 等技術與 Anser 進...

鐵人賽 Modern Web DAY 28

技術 第二十八章、高效能PHP:SWOW & Workerman - 以 Coroutine 實現的非阻塞常駐型 PHP Web 伺服器 - PHP 微服務入門與開發

一直以來,多數的 PHP 應用程式都是阻塞式地執行。當 PHP 程式遇到如資料庫查詢或檔案讀寫等操作時,它會等待這些動作完成才繼續執行下一行程式碼。在較高並行處...

鐵人賽 Software Development DAY 22
Kotlin on the way 系列 第 22

技術 Day 22 異步程式 Asynchronous

為什麼要異步 快,再快點,我們都討厭等待 但同時執行多項任務是非常需要技巧的,我們要在意順序、資源,更中意的是如果沒管理好,每次執行的順序可能會不一樣,造成不同...

鐵人賽 Mobile Development DAY 17

技術 Day 17 - Android Kotlin Coroutine

Coroutine(協程)可以看作輕量級的 thread(執行緒),執行緒是作業系統負責調度,協程則是應用程式負責調度,因為少了 system call 等步驟...

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

技術 [Kotlin 全面啟動] Coroutine III

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

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

技術 [Kotlin 全面啟動] Coroutine II

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

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

技術 [Kotlin 全面啟動] Coroutine

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

鐵人賽 Mobile Development DAY 30

技術 day30 Kotlin coroutine 結賽統整

有人說作為新手不好理解,我覺得蠻正常的,一來我中文其實不好,二來要理解新概念只用看的其實不夠,最好是動手寫code,將理解的概念自己用code呈現出來,這時概念...

鐵人賽 Mobile Development DAY 29

技術 Leftover topics

我們終於來到第廿九篇,我們這次討論的題目都是之前討論過的東西的延伸。因為篇幅和時間有限就只好把它們合併成一篇。 Two-way data binding 我們在...

鐵人賽 Mobile Development DAY 29

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

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

鐵人賽 Mobile Development DAY 28

技術 day28 等一下啦,會壞掉的/// Coroutine併發操作的重複請求

沒有要開車,參賽規定有寫不能污言穢語,等我有空再去其他平台寫個開車系列的coroutine 這裡給個快轉,android開發者從1開始看,ktor從2開始看 如...

鐵人賽 Mobile Development DAY 28

技術 ETA screen testing (2)

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

鐵人賽 Mobile Development DAY 27

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

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

鐵人賽 Mobile Development DAY 26

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

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

鐵人賽 Mobile Development DAY 26

技術 Station list screen testing

終於來到為 ViewModel 寫 unit test 的部分,亦都意味着這個系列快要完結。之前我們寫過其他 layer 的 unit test,用過 Mock...

鐵人賽 Mobile Development DAY 25

技術 day25 矮額是callback,把它變成flow好了 簡單的callbackFlow

終於寫道flow的最後一篇了 儘管我們在自己的開發上,能夠高興地寫coroutine和suspend,但人生總是不那麼美好,我們會在各式sdk或套件裡遇到cal...

鐵人賽 Mobile Development DAY 24

技術 day24 stateflow和shareflow是如何取代livedata的,聊聊use case吧!!

記得我們說的特性吧,stateflow會在舊值和新值相同的情況下不做更新,但有時我們需要在每次retry某些動作,比如重新連線、重新載入等等 這時,我們就需要用...

鐵人賽 Mobile Development DAY 23

技術 day23 stateFlow狀態流,又是沒梗的一天

前面我們講到如何應coroutine的flow和liveData合作,但android其實還推出了另一個東西,stateFlow,剛好之前的line截圖,也點出...

鐵人賽 Mobile Development DAY 22

技術 day22 熱流sharedFlow

在flow那篇我們了解到flow的特性,尤其是每次collect都會創建新的實例,但在某些use case卻不適用,而kotlin為此推出了shareflow和...

鐵人賽 Mobile Development DAY 21

技術 day21 開分支,淺談kotlin paging3 with flow

注意,我只講了codelab的50%左右,但對paging3和flow的概念講完了 通常有codelab,我都會直接叫人去看,但唯獨paging3,我覺得值得一...

鐵人賽 Mobile Development DAY 20

技術 day20 在ui蒐集flow,能取代liveData嗎?

好的,前一篇講到了flow可以完全取代liveData,其實錯!! 直接從結論開始講,flow並不支援data binding,也有其限制,用stateflow...

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

技術 Day30:The end is not the end

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

鐵人賽 Mobile Development DAY 19

技術 day19 Kotlin coroutine flow with liveData in MVVM

恩,標題不知道怎麼下成中文 在之前的範例裡,示範了如何用coroutine做一次性的網路請求,並交結果post給liveData,讓ui可以觀察(one sho...

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

技術 Day28:複習 Coroutine

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

鐵人賽 Mobile Development DAY 18

技術 day18 kotlin - flow基本操作

我會從文檔中挑幾個重要的出來講,但不會是全部,我會著重一些基本的中間操作,異常,取消,dispatcher文檔doc 首先,之前看過的影片分享了RxJava和F...

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

技術 Day27:測試 Coroutine

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

鐵人賽 Mobile Development DAY 17

技術 day17 不懂kotlin flow資料流? 那喝杯進口奶茶吧

用過Rx或reactive stream的大大,應該會很好理解flow,從設計概念來講,flow也屬於react stream,如果有從那邊轉過來的人,可以先看...

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

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

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

鐵人賽 Mobile Development DAY 16

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

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