越來越感覺我是入錯行了……看過無數篇講解IO多路復用的文章,大抵分為兩種:0.一開始就拋出幾個抽象的概念,然后一頓講解;1.舉幾個特別生動的例子,很好理解,但是回到現實,還是不懂什么叫多路復用有沒有從具象到抽象的講解(一定要先具象到實際應用中,畢竟一個復雜的系統或協議,不論內部實現多么抽象,最開始也是要基于具體的實際需求來設計吧)。就拿redis來說,現有兩個順序執行的incrby命令(假設每個命令內部都有3個IO操作:A,B,C),下面哪種猜測更接近實際情況?還是說都是在扯淡。0.每個命令的執行,通過調度其內部的IO操作,盡量減少系統資源閑置的時間,從而最終使命令更快地執行,比如這里的IO順序可能是:A1,C1,B1,A2,C2,B2;1.在執行當前命令的時候,提前執行了下一個命令的部分IO操作,比如第一個incrby的A操作剛被執行完,然后立刻去執行第二個incrby的A操作(如果這樣做可以更快的話),那么此時的IO順序可以是:A1,A2,B1,B2,C1,C2
如何 understand IO多路復用?各?
開滿天機
2019-06-19 09:13:24