koa-logger源碼解析
以GET請求“/”為例子,koa-logger會打印以下日誌:
-- GET /
GET / - 790ms
-- GET / 200 803ms 185b
分為是請求與響應的日誌
// koa-logger 主函數
function dev (opts) {
// print函數,默認參數為空時是調用console.log,如果有transporter選
1、術語
併發 vs 並行
併發和並行是相關的概念,但有一些小的區別。併發意味着兩個或多個任務正在取得進展,即使它們可能不會同時執行。例如,這可以通過時間切片來實現,其中部分任務按順序執行,並與其他任務的部分混合。另一方面,當執行的任務可以真正同時進行時,就會出現並行
簡單説啓動一個線程在一個core上就是並行,啓動兩個線程在一個core上就是併發
異步 vs 同步
如果調用者
tokio 是 rust 生態中流行的異步運行時框架。在實際生產中我們如果希望 tokio 應用程序與特定的 cpu core 綁定該怎麼處理呢?這次我們來聊聊這個話題。
首先我們先寫一段簡單的多任務程序。
use tokio::runtime;
pub fn main() {
let rt = runtime::Builder::new_multi_thread()
.e