码迷,mamicode.com
首页 > 其他好文 > 详细

白话同步异步、阻塞非阻塞

时间:2015-07-22 16:17:32      阅读:111      评论:0      收藏:0      [点我收藏+]

标签:同步   异步   阻塞   非阻塞   

  如果你想了解同步异步、阻塞非阻塞的基本概念,可以看下面,欲了解具体实现,请自行google^^,若有错误,请指出。

来看生活中的例子:
  比如你在天猫超市买了东西,短信通知说快递很快到了,这时候你有两个选择:
  1)下楼等着快递员(同步)
  2)在家等着快递员送货上门(异步)

  如果你下楼等着,然并卵,这时快递员并没有到,这时候,你又有两个选择:
  1)深情地望着路口,等着快递员的出现(同步阻塞)
  2)先干干别的,刷刷微博,知乎啥的,时不时抬头看看快递员来没(同步非阻塞)

  当然,如果你在家里,也有两种选择:
  1)就等着快递员把你的好吃的送来,其他啥也不想干(异步阻塞,典型吃货,实际很少用)
  2)先干点别的,看看书,写写博客,等着快递员送货上门(异步非阻塞)
  
  非阻塞应用的很多,比如nginx 这样的处理高并发网络事务的应用。
  如果所有事件有严格的顺序依赖性,就必须采取阻塞方式,另外比如在一些处理时间短,需要快速响应的场合,为避免切换,提高响应速度,阻塞也是不错的选择。

总结起来说:
  同步异步是一种消息机制,同步的情况下,是由处理消息者自己去等待消息是否被触发,而异步的情况下是由触发机制来通知处理消息者。
  阻塞非阻塞是调用者的等待时的处理方式。

版权声明:本文为博主原创文章,未经博主允许不得转载。

白话同步异步、阻塞非阻塞

标签:同步   异步   阻塞   非阻塞   

原文地址:http://blog.csdn.net/kzq_qmi/article/details/47003519

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!