先談談於coroutine中發生exception的時候會有什麼事情發生,先來看看一般的狀況 import kotlinx.coroutines.* susp...
經過了前兩章的分享,我們成功地使用 PHP 建立起了一個非阻塞的常駐型伺服器。本章我們將關注於如果將 Workerman 與 Swow 等技術與 Anser 進...
一直以來,多數的 PHP 應用程式都是阻塞式地執行。當 PHP 程式遇到如資料庫查詢或檔案讀寫等操作時,它會等待這些動作完成才繼續執行下一行程式碼。在較高並行處...
為什麼要異步 快,再快點,我們都討厭等待 但同時執行多項任務是非常需要技巧的,我們要在意順序、資源,更中意的是如果沒管理好,每次執行的順序可能會不一樣,造成不同...
Coroutine(協程)可以看作輕量級的 thread(執行緒),執行緒是作業系統負責調度,協程則是應用程式負責調度,因為少了 system call 等步驟...
本文就是 Coroutine 的最後一篇了,當然圍繞著 Coroutine 一定還有很多主題可以分享,但局限於鐵人賽篇幅,今天我們就著重在於怎麼切 Thread...
昨天我們談了蠻多概念的,今天就讓我們具體談 Coroutine 的實作細節吧! Suspend function Suspend 是使用 Coroutine 的...
還記得昨天講 expect/actual 的時候提到了 Coroutine 嗎?作為 Kotlin 一個非常重要功能,今天我們就單獨拉一篇來介紹一下。 雖然說...
有人說作為新手不好理解,我覺得蠻正常的,一來我中文其實不好,二來要理解新概念只用看的其實不夠,最好是動手寫code,將理解的概念自己用code呈現出來,這時概念...
我們終於來到第廿九篇,我們這次討論的題目都是之前討論過的東西的延伸。因為篇幅和時間有限就只好把它們合併成一篇。 Two-way data binding 我們在...
我先講解法,再講為甚麼volatile沒用 那我會搭配文檔講,但其實不管情境怎麼會概念還是一樣的,這裡範例選用和文檔一樣的從1加到10萬 atomic原子性 前...
沒有要開車,參賽規定有寫不能污言穢語,等我有空再去其他平台寫個開車系列的coroutine 這裡給個快轉,android開發者從1開始看,ktor從2開始看 如...
上一篇我們寫了一些 EtaViewModel 的測試,這一篇會集中寫跟時間相關的測試。 之前在 EtaViewModel 我們定義了更新一次的間距常數 AUTO...
之後四天,會講講以前面知識做基礎開發時,會遇到的問題 在前面,講到了coroutine是什麼,不妥善處理會有workleak,也介紹了他的exceptiom和取...
提醒,select仍是實驗中的api,請斟酌使用 在這之前的26天,我們所用的都是我要做什麼事,就是做什麼事,不會有條件的選取,但作為android的開發者,一...
終於來到為 ViewModel 寫 unit test 的部分,亦都意味着這個系列快要完結。之前我們寫過其他 layer 的 unit test,用過 Mock...
終於寫道flow的最後一篇了 儘管我們在自己的開發上,能夠高興地寫coroutine和suspend,但人生總是不那麼美好,我們會在各式sdk或套件裡遇到cal...
記得我們說的特性吧,stateflow會在舊值和新值相同的情況下不做更新,但有時我們需要在每次retry某些動作,比如重新連線、重新載入等等 這時,我們就需要用...
前面我們講到如何應coroutine的flow和liveData合作,但android其實還推出了另一個東西,stateFlow,剛好之前的line截圖,也點出...
在flow那篇我們了解到flow的特性,尤其是每次collect都會創建新的實例,但在某些use case卻不適用,而kotlin為此推出了shareflow和...
注意,我只講了codelab的50%左右,但對paging3和flow的概念講完了 通常有codelab,我都會直接叫人去看,但唯獨paging3,我覺得值得一...
好的,前一篇講到了flow可以完全取代liveData,其實錯!! 直接從結論開始講,flow並不支援data binding,也有其限制,用stateflow...
不知不覺過了三十天,在這三十天中,我們學習了 Coroutine 的每一個面向,我們知道 Coroutine 是用來解決非同步程式執行的問題,它讓我們在面對非同...
恩,標題不知道怎麼下成中文 在之前的範例裡,示範了如何用coroutine做一次性的網路請求,並交結果post給liveData,讓ui可以觀察(one sho...
不知不覺來到了第28天,最後我們來做個複習吧。 Coroutine 的目的 用來解決非同步程式執行的問題,在以前面對非同步的程式時,我們可能需要建立一個新的執行...
我會從文檔中挑幾個重要的出來講,但不會是全部,我會著重一些基本的中間操作,異常,取消,dispatcher文檔doc 首先,之前看過的影片分享了RxJava和F...
Coroutine 是非同步程式的解決方案,我們將耗時的任務置放在 suspend 函式中,在正常的使用 coroutine 情況之下,這些 suspend 函...
用過Rx或reactive stream的大大,應該會很好理解flow,從設計概念來講,flow也屬於react stream,如果有從那邊轉過來的人,可以先看...
Flow 是依序執行的,如果使用 collect 作為終端運算子,那麼在最後就會按照每一個元素所要花費的時間一一的執行,並把結果吐出來。 如下面的範例: cla...
前言 今天東西不多,算是給前面做一個補充資訊,明天開始會講Flow了,又是會是超長的文章 正文 想不到吧? job也有生命週期,我沒有亂套名詞喔,文檔自己寫li...