Day 14:小結:三種技術選型的判斷依據,MVC、WebFlux 各用在哪 結尾留下一個尖銳的問題:即使底層是 WebFlux 搭配 R2DBC 這種從骨子裡...
Hello 各位!上一篇我們聊到 JetBrains AI Assistant 的時候提到 PSI 引擎——那個讓 AI 能理解語法樹、不是純文字掃描的核心底...
Day 09:Job,協程生命週期的控制把手 結尾留下一個問題:對一個 Job 發出取消要求之後,協程是不是立刻停下。這個問題後來由 Day 10:協程取消不是...
Day 13:協程搭配訊息佇列與外部 API 呼叫的常見模式 結尾把問題攤開來了:這幾天累積的技術選型各自看起來都理解了,但實務上該根據什麼判斷依據去選擇,還沒...
Day 13:Coroutine Context,協程隨身攜帶的那包設定 結尾留下一個問題:協程如果已經在執行了,執行到一半才發現接下來這段程式碼需要換一個 D...
Day 12:R2DBC,讓資料庫存取也不阻塞執行緒 結尾留下一個問題:資料庫存取這一段的非阻塞問題解決了,但真實的訂單查詢與扣庫存流程往往不只跟資料庫打交道,...
Day 12:Dispatchers,協程實際跑在哪條執行緒上 結尾留下一個問題:啟動協程時指定的 Dispatcher,具體是用什麼方式跟著協程一起被攜帶著走...
Day 11:WebFlux 是什麼,協程與反應式模型的分工 停在一個尚未回答的風險上:即使應用程式用 WebFlux 搭配協程,整條請求處理鏈路理論上可以是非...
Day 11:小結:Scope、Structured Concurrency、Job、取消如何協同運作 結尾留下一個還沒碰過的問題:這幾天建立的框架,回答的都是...
在上一篇文章 Day 10:在 Spring MVC 裡寫 suspend function,能動但有代價 最後留下一個問題:如果限制的源頭是底層容器骨架,有沒...
Day 10:協程取消不是強制中斷,是一場合作 結尾提到一件事:Job 樹負責把取消訊號傳遞到每個角落,Structured Concurrency 界定子協程...
Day 09:小結:四個核心觀念如何在一次請求中協同運作 結尾留下一個還沒正面回答的問題:協程終究要活在一個真實的 Spring Boot 應用程式裡,它要接...
Day 09:Job,協程生命週期的控制把手 結尾留下一個問題:透過 Job 對協程發出取消要求之後,這個協程接下來會怎麼樣,是像拔掉電源一樣說停就停,還是中間...
Day 08:Coroutine Context 與例外處理,協程出錯了誰負責 結尾把 Coroutine Scope、Structured Concurren...
Day 08:coroutineScope 與 supervisorScope,兩種收斂行為的差異 結尾留下一個問題:coroutineScope 與 supe...
《Day 07:Dispatchers,協程實際跑在哪條執行緒上》 結尾留下一個問題:Dispatcher 其實只是協程隨身攜帶的其中一項設定,那協程執行時還帶...
《Day 07:Structured Concurrency,為什麼協程不能亂長亂放》 建立了一個標準規則:子協程失敗,預設會向上影響整個父範圍,導致父協程與其...
Day 06:Structured Concurrency,為什麼協程不能亂長亂放 結尾留下一個問題:確立了協程之間誰該對誰負責之後,這些協程實際上到底是在哪一...
Day 06:Coroutine Scope,協程住在哪裡、活多久 結尾留下一個問題:同一個 Scope 裡同時養著好幾個協程,其中一個出事,會不會連累其他協程...
Day 05:Coroutine Scope,協程住在哪裡、活多久 結尾留下一個問題:同一個 Scope 裡如果同時養著好幾個協程,其中一個先執行完,或者其中一...
《Day 05:把暫停機制與啟動方式放在一起跑一次》結尾留下一個問題沒有回答:協程數量一多,誰該負責統一管理它們,確保這些協程不會各自失控地一直跑下去。今天要正...
《Day 04:小結:把 Thread 模型與協程模型放在一起比一次》 結尾留下一個疑問:訂單查詢與扣庫存服務裡,有些步驟適合同時發起,一旦一個請求裡需要同時或...
《Day 04:launch、async、runBlocking,三種 Coroutine Builder 該選誰》 結尾留下一個約定:把這幾天分別認識的東西,...
《Day 03:第一個 suspend function,協程到底暫停了什麼》結尾留下一個疑問:一個函式暫停了,那一整串呼叫呢。今天先不回答這個疑問,而是往回看...
《Day 03:Continuation 是什麼,編譯器在背後偷偷做了什麼事》留下一個問題。suspend function 內部已經具備暫停與恢復的能力,這套...
《Day 02:Thread-per-Request 模型的極限,搞懂你原本在用什麼》 結尾停在一個問句上:如果執行緒能在等待的時候先被借走,去處理別的請求,等...
《Day 02:第一個 suspend function,暫停到底暫停了什麼》 留下一個還沒解開的疑問。suspend function 暫停的時候,一定需要某...
《Day 01:為什麼高併發後端需要協程,從一個會卡住的 API 說起》結尾留下一個看似簡單卻很少人真正答得出來的問題:你的 Spring Boot 應用程式收...
《Day 01:為什麼你需要協程,從一個會卡住主執行緒的下載函式說起》 停在一個問題上:如果一段程式碼能看起來依序寫下去,遇到等待卻不會卡住主執行緒,那麼它在等...
昨天在 Day 00 的地圖裡,我們先按下不表那個會卡住的 API,只留下一句預告:今天要把它攤開來看清楚,它到底卡在哪裡。現在就從這個畫面開始。 開場,一個會...