怎樣理解阻塞非阻塞與同步異步的區(qū)別?

完整答案:”https://www.zhihu.com/question/19732473

栗子
你打電話問書店老板有沒有《分布式系統(tǒng)》這本書,

  • 如果是同步通信機制,書店老板會說,你稍等,”我查一下",然后開始查啊查,等查好了(可能是5秒,也可能是一天)告訴你結(jié)果(返回結(jié)果)。
  • 而異步通信機制,書店老板直接告訴你我查一下啊,查好了打電話給你,然后直接掛電話了(不返回結(jié)果)。然后查好了,他會主動打電話給你。在這里老板通過“回電”這種方式來回調(diào)。
  • 你如果是阻塞式調(diào)用,你會一直把自己“掛起”,直到得到這本書有沒有的結(jié)果,
  • 如果是非阻塞式調(diào)用,你不管老板有沒有告訴你,你自己先一邊去玩了, 當(dāng)然你也要偶爾過幾分鐘check一下老板有沒有返回結(jié)果。在這里阻塞與非阻塞與是否同步異步無關(guān)。跟老板通過什么方式回答你結(jié)果無關(guān)。

  • 同步阻塞:你打電話問老板有沒有某書,老板去查,在老板給你結(jié)果之前,你一直拿著電話等待老板給你結(jié)果,你此時什么也干不了。
  • 同步非阻塞:你打電話過去后,在老板給你結(jié)果之前,你拿著電話等待老板給你結(jié)果,但是你拿著電話等的時候可以干一些其他事,比如嗑瓜子。
  • 異步阻塞:你打電話過去后,老板去查,你掛掉電話,等待老板給你打電話通知你,這是異步,你掛了電話后還是啥也干不了,只能一直等著老板給你打電話告訴你結(jié)果,這是阻塞。
  • 異步非阻塞:你打電話過去后,你就掛了電話,然后你就想干嘛干嘛去。只用時不時去看看老板給你打電話沒。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容