同步异步&阻塞非阻塞

以银行排队为例

  • 1 同步阻塞 银行不给票,直接排队
  • 2 同步非阻塞银行排队,在队伍里打电话,时不时看队伍到自己了。这里分为两个动作,排队时不时为主,打电话为辅。这样在代码里头显示为,一个死循环,不断轮询到自己没有,这个循环中还能做其他动作,就是打电话,或者说抽烟。和1不同,1只能时不时看,也就是轮询,不断的把自己怼端口监听,只做一个东西,因为他被阻塞了。
  • 3 异步阻塞老实说,我觉得跟1有点像,这个例子还是银行的,这个银行升级了,会发票给你,这个小票替代你排队,到你了银行会叫你,这就是异步。但是这时候你发现被阻塞了,不能抽烟,不能出去走走,不去顺路在隔壁买鸡排吃,我的妈,这和1到底有什么分别?!老实说个人觉得没有分别,但是在程序里大概是这样显示的,不用循环了,不用一次次去端口怼着了,起个函数线程只需要等待通知,就可以接收乱七八糟的东西。嗨呀,好气啊,这样做有个卵用。有用哈,虽然线程挂起等待,但是cpu没闲着啊,该咋地还是咋地,省资源了撒(心里话:还是没卵用
  • 4 异步非阻塞拿了小票排队,然后去隔壁买鸡排,在门口抽根烟,吃完鸡排发现银行还没叫我,嗨呀,好气啊,银行怎么这么辣鸡,排个队那么卵久的

作者:青云十九
链接:https://www.zhihu.com/question/19732473/answer/126044224
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容