https://www.zhihu.com/question/19732473 知乎的解释,很不错
同步:syinchronous 异步:asyinchronous
-
同步:做完了不通知,发起请求的要知道结果必须主动查询,采用论询。
-
异步:做完了通知,发起请求的主要被通知就好了。不用轮询。
-
阻塞:发起一个请求之后,一直等待到得到这个请求的结果,在会做下一件事情
-
非阻塞: 发起一个请求之后,不管结果,马上去做另一件事情。
-
同步是对于服务而言,阻塞是对于客户而言。
-
可以组合的方式
比如买咖啡,同步或者异步是对咖啡店老板而言,阻塞非阻塞是对顾客而言 :- 阻塞同步:顾客要买咖啡之后,就一直等咖啡,不做其他事情。老板做好了之后也不说。顾客要自己问老板是不是做好了。
- 阻塞异步:顾客要买咖啡之后,就一直等咖啡,不做其他事情。但是老板做好了之后告诉顾客说做好了,不用顾客自己主动问。
- 非阻塞同步:顾客要买咖啡之后,可能去买了个水,或者玩手机等其他事情。老板做好了之后也不说。顾客要自己问老板是不是做好了。
- 非阻塞异步:顾客要买咖啡之后,可能去买了个水,或者玩手机等其他事情。老板做好了之后打电话告诉顾客说做好了,不用顾客自己主动问。
网友评论