白话解说:阻塞和非阻塞,同步和异步
生活随笔
收集整理的這篇文章主要介紹了
白话解说:阻塞和非阻塞,同步和异步
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
阻塞和非阻塞,同步和異步是node.js里經(jīng)常遇到的詞匯,舉例說明:
我要看足球比賽,但是媽媽叫我燒水,電視機(jī)在客廳,燒水要在廚房。家里有2個(gè)水壺,一個(gè)是普通的水壺,另一個(gè)是水開了會(huì)叫的那種水壺。我可以:
等著看球的我:阻塞
看著電視的我:非阻塞
普通水壺:同步
會(huì)叫的水壺:異步
所以,異步往往配合非阻塞,才能發(fā)揮出威力。
阻塞和非阻塞1.阻塞:就像單線程cpu一樣,一個(gè)任務(wù)由多個(gè)小任務(wù)組成,但是只能一個(gè)任務(wù)接一個(gè)任務(wù)流程的往想下走,誰在任務(wù)排序的前面就誰先執(zhí)行,執(zhí)行完了進(jìn)行下一個(gè),如果遇到錯(cuò)誤,下面的小任務(wù)就不要做了,一直卡住。2.非阻塞:就像多線程cpu一樣,一個(gè)任務(wù)由多個(gè)小任務(wù)組成,可以分開線程來做,每個(gè)線程做分配到的任務(wù),完成了對應(yīng)的任務(wù)就行,某個(gè)線程的任務(wù)沒做完那就做報(bào)對應(yīng)的錯(cuò),其他的不受影響。同步:要做的事列了一個(gè)清單,按照清單上的順序 一個(gè)一個(gè)執(zhí)行。
異步:就是可以同時(shí)干好幾件事。
阻塞:就是按照清單上的順序一件一件的往下走,任意一件事沒有做完,下面的事都干不了。
非阻塞:就是有事沒有作完,后面的事不會(huì)等這件事干完了再作,而是直接開始作下一件事,等這件事作完了,后面的事也作完了,這樣就大大提高了效率。
總結(jié)
以上是生活随笔為你收集整理的白话解说:阻塞和非阻塞,同步和异步的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c#中WinForm中拖拽窗体实现移动功
- 下一篇: 利用FindWindow和SendMes