先說點題外話,最近在開發(fā)公司級的網關,雖然沒有明說,但是對于我們大家來說Nginx就是我們對標的對象。但是說實話,想要對標Nginx的性能,用Go開發(fā)基本上是不可能的,人家沒...

先說點題外話,最近在開發(fā)公司級的網關,雖然沒有明說,但是對于我們大家來說Nginx就是我們對標的對象。但是說實話,想要對標Nginx的性能,用Go開發(fā)基本上是不可能的,人家沒...
今天介紹一下 go語言的并發(fā)機制以及它所使用的CSP并發(fā)模型 CSP并發(fā)模型 CSP模型是上個世紀七十年代提出的,用于描述兩個獨立的并發(fā)實體通過共享的通訊 channel(管...
golang sync.pool對象復用 并發(fā)原理 緩存池 在go http每一次go serve(l)都會構建Request數(shù)據(jù)結構。在大量數(shù)據(jù)請求或高并發(fā)的場景中,頻繁創(chuàng)...
前言 Go語言的垃圾回收(Garbage Collection,以下簡稱GC)機制是并發(fā)三色標記,是一種不移動的標記-清掃 GC算法。在2018年的一次演講 中,官方公布了嘗...
Compare two string slices in GoLang 開發(fā)中經常會遇到需要比較兩個slice包含的元素是否完全相等的情況,一般來說有兩個思路: reflec...
特別說明: 本文寫于2015年11月,當時我在找工作,據(jù)此優(yōu)化簡歷,每投必中。當時我還寫了求職相關的其它文章,發(fā)布在公眾號“程序視界”和簡書,比如大齡程序員的未來在何方、35...
廣義上的二進制文件包括文本文件,這里討論的是狹義上的二進制文件與文本文件的比較: 1. 能存儲的數(shù)據(jù)類型不同 文本文件只能存儲char型字符變量。二進制文件可以存儲char/...
閱讀經典——《深入理解計算機系統(tǒng)》01 信息是什么文件Hello World程序的生命周期開始運行Hello World虛擬地址空間總結 信息是什么? 信息就是位+上下文。 ...
這段時間學操作系統(tǒng),好奇計算機是怎么從通電到成功加載操作系統(tǒng)的,看了一些文章順便做下總結。 第 0、1 小節(jié)介紹了一些地址和寄存器的基本概念,后面介紹了 80386 從通電后...
前言 習慣用 Json、XML 數(shù)據(jù)存儲格式的你們,相信大多都沒聽過Protocol Buffer Protocol Buffer 其實 是 Google出品的一種輕量 & ...
簡單總結一下:
同步:主動菜是否準備好(光等或輪詢)
異步:服務員在菜準備好的時候通知你
阻塞:沒準備好之前什么事都不干
非阻塞:沒準備好之前干其他事
樓主舉的例子所說的同步跟阻塞一般是針對數(shù)據(jù)準備階段的。
所以最后的總結圖對應的是:
阻塞I/O:同步阻塞
非阻塞I/O:同步(輪詢)非阻塞
I/O多路復用:同步阻塞(不過可以同時監(jiān)聽多個socket狀態(tài),效率高了)
信號驅動I/O:異步非阻塞
異步I/O:真正意義上的異步非阻塞(上面的都只是數(shù)據(jù)準備階段,這個是數(shù)據(jù)準備和數(shù)據(jù)處理階段)
上一篇《聊聊同步、異步、阻塞與非阻塞》[http://www.lxweimin.com/p/aed6067eeac9]已經通俗的講解了,要理解同步、異步、阻塞與非阻塞重要的兩...
讀完了Redis實戰(zhàn),感覺收獲還是蠻多的。像往常那樣,讀完就想將書束之高閣。這幾天總感覺差點什么,于是又翻了一下這本書,打算記錄書上和自己知道的關于Redis優(yōu)化的小知識點。...
前言 HTTP網絡通信協(xié)議在任何的開發(fā)工作中都非常重要 今天,我將獻上一份HTTP的說明指南,希望你們會喜歡 目錄 1. 儲備知識 講解HTTP協(xié)議前,先了解一些基礎的計算機...
前言 計算機網絡基礎 該是程序猿需掌握的知識,但往往會被忽略 今天,我將詳細講解計算機網絡中最重要的TCP協(xié)議,含其特點、三次握手、四次揮手、無差錯傳輸?shù)戎R,希望你們會喜歡...