鳥(niǎo)瞰 IO
志堅(jiān)者,功名之柱也如筛。登山不以艱險(xiǎn)而止,則必臻乎峻嶺。
1. 同步與異步
同步請(qǐng)求
???????方法 A 調(diào)用方法 B ,如果方法 B 的處理是同步的,那么在方法 B 處理完之前他不會(huì)通知方法 A 的箭阶,只有方法 B 處理完之后才會(huì)明確的通知方法 A。
異步請(qǐng)求
???????方法 A 調(diào)用 方法 B 戈鲁,方法 B 的處理是異步的仇参,那么方法 B 在接到請(qǐng)求后先給方法 A 一個(gè)返回值代表我已經(jīng)接到請(qǐng)求了,然后異步的去處理婆殿,方法 B 處理完之后通過(guò)回調(diào)等方式再告訴方法 A诈乒。
???????綜上所訴,同步和異步最大的區(qū)別就是被調(diào)用方的執(zhí)行方式和返回時(shí)機(jī)婆芦。同步指的是被調(diào)用方做完事情之后再返回怕磨,異步指的是被調(diào)用方先返回,然后再做事情寞缝,做完之后再想辦法通知調(diào)用方
2. 阻塞與非阻塞
生活常識(shí)舉例
阻塞
???????比如你去蜜雪冰城買(mǎi)奶茶癌压,如果你一直在等工作人員給你打奶茶期間什么都不做那么就是阻塞的狀態(tài)
非阻塞
???????比如你去蜜雪冰城買(mǎi)奶茶,如果你在工作人員給你打奶茶期間又去做了別的事情比如去超時(shí)逛逛等那么就是非阻塞的狀態(tài)
???????綜上所訴荆陆,阻塞和非阻最大的區(qū)別就是在被調(diào)用方返回結(jié)果之前的這段時(shí)間內(nèi)滩届,調(diào)用方是否一直等待。阻塞指的是調(diào)用方一直等待別的事情什么都不做被啼。非阻塞指的是調(diào)用方先去忙別的事情帜消。
阻塞、非阻塞和同步浓体、異步的區(qū)別
???????經(jīng)過(guò)介紹阻塞與非阻塞和同步與異步其實(shí)強(qiáng)調(diào)的對(duì)象是不一樣的泡挺。阻塞與非阻塞說(shuō)的是調(diào)用者方,同步與異步說(shuō)的是被調(diào)用方命浴。
3. 圖解 IO 分類
3.1 阻塞IO
[圖片上傳失敗...(image-5840b7-1644456538196)]
3.1.1 同步阻塞
舉例說(shuō)明:
??????? 還是用去蜜雪冰城買(mǎi)奶茶的例子娄猫。在工作人員打好奶茶之前我們一直柜臺(tái)等待,等著工作人員把奶茶打好生闲,那么就是同步阻塞狀態(tài)媳溺。
阻塞的工作模式 就是等待工作人員將奶茶打好。但是實(shí)際上在工作人員打好奶茶期間的時(shí)間段什么都沒(méi)有做
3.2 非阻塞IO
[圖片上傳失敗...(image-d8a4dc-1644456538196)]
3.2.1 同步非阻塞
舉例說(shuō)明:
??????? 還是用去蜜雪冰城買(mǎi)奶茶的例子碍讯。在工作人員打好奶茶之前我們可以做別的事情時(shí)不時(shí)的來(lái)看看奶茶打沒(méi)打好悬蔽,這就是同步非阻塞狀態(tài)。
非阻塞的工作模式在工作人員打好奶茶期間的時(shí)間段什么都可以做
3.3 異步IO
[圖片上傳失敗...(image-7cf46f-1644456538196)]
舉例說(shuō)明:
??????? 還是用去蜜雪冰城買(mǎi)奶茶的例子捉兴。在工作人員打好奶茶之前我們?nèi)ジ蓜e的事情蝎困,等工作人員把奶茶打好之后機(jī)器叫號(hào)1153號(hào)客戶取餐录语,這種就是異步ID。