將用C\C++從作業系統的角度開始探索同步非同步的基本概念,
包含 spinlock & mutex & semaphore & atomic 的概念與原理。
之後使用C\C++實踐基於上述原理的併發式資料結構,
包含message queue, threadPool, mapReduce。
到此為止, 將完成同步非同步議題在底層的運作, 接著進入應用面。
利用Node實作簡易的後端, 在這同時會進行JS同步非同步教學。
包含 callback , promise , async/await 等。
最後試著實踐一個高併發後端伺服器的部分模塊。
前言 昨天我們聊到, C++ 連接層中的 TCP 物件被 JS 調用, 拿來註冊事件及回調函數, 今天讓我們繼續看下去。 C++ 連接層 https://git...
前言 昨天, 我們知道了 JS 層藉由 V8 引用 C++ 層, C++ 層又利用 AIO (非同步IO) 註冊事件, 接著我們就來看看負責處理事件的 libu...
前言 今天繼續看看 event loop 的核心循環, uv_run() , 可以查看以下網址 https://github.com/nodejs/node/b...
前言 今天繼續看看 event loop 的核心循環, uv_run() , 可以查看以下網址 https://github.com/nodejs/node/b...
前言 今天繼續看看 event loop 的核心循環, uv_run() , 可以查看以下網址 https://github.com/nodejs/node/b...
前言 回顧昨天提到, pending 階段處理 polling 得來的事件, 且調用特定的 callback 。 大家對 pending stage 的各種 c...
前言 昨天聊到了 TP 告知 main Thread 任務完成的方法。今天說說 TP 本身在運行甚麼。 原始碼來自以下網址 : https://github.c...
前言 今天的內容是整理整個 threadpool (TP) 的調用過程 回顧 在 pending 階段當遇到 async 類型的任務會執行以下這段 void u...
前言 今天會統整這 10 多天關於 Node 框架的探索內容。 正文 Node 的非同步, 本質是對 AIO 機制的活用, 其中 linux 使用的 AIO...
實作 所謂讀了原始碼卻不實作與驗證, 那不過就是對原始碼的意淫而已, 所以在這個系列文的結尾總是還要寫點東西的。 但因為還有太多部分沒聊到, 所以我臨時把最後要...