異步與阻塞
是通過延時(shí)器實(shí)現(xiàn)了異步過程,然后回調(diào)函數(shù)實(shí)現(xiàn)了非阻塞嗎,感覺老師說的有點(diǎn)矛盾,怎么會是通過回調(diào)函數(shù)實(shí)現(xiàn)了異步過程
是通過延時(shí)器實(shí)現(xiàn)了異步過程,然后回調(diào)函數(shù)實(shí)現(xiàn)了非阻塞嗎,感覺老師說的有點(diǎn)矛盾,怎么會是通過回調(diào)函數(shù)實(shí)現(xiàn)了異步過程
2018-05-28
舉報(bào)
2018-06-02
舉個(gè)例子:
現(xiàn)有一段代碼包含三個(gè)語句:語句1、語句2、語句3.
正常的執(zhí)行順序:1 -> 2 -> 3
如果語句2中包含一個(gè)回調(diào)函數(shù),執(zhí)行順序可能為:1 -> 2 -> 3 -> 2中的回調(diào)函數(shù)
也就是說語句3沒有等到語句2中的所有代碼執(zhí)行完就已經(jīng)運(yùn)行了
回調(diào)函數(shù)在獲得執(zhí)行條件時(shí)執(zhí)行,執(zhí)行時(shí)間是不確定的(這里老師用延時(shí)器做了模擬),這就是異步;即便永遠(yuǎn)運(yùn)行不到,也不會影響后續(xù)代碼的運(yùn)行,這就是非阻塞。