为了账号安全,请及时绑定邮箱和手机立即绑定

怎么用生活中的例子来说明什么是同步阻塞,同步非阻塞,异步阻塞,异步非阻塞呢

怎么用生活中的例子来说明什么是同步阻塞,同步非阻塞,异步阻塞,异步非阻塞呢

青春有我 2019-05-25 15:42:12
怎么用生活中的例子来说明什么是同步阻塞,同步非阻塞,异步阻塞,异步非阻塞呢以下仅仅是在B/S中的同步、异步、阻塞的理解,但想得到通过举例子来说明什么是同步阻塞,同步非阻塞,异步阻塞,异步非阻塞的答案1:同步:用户请求服务器->服务器处理用户的请求在这过程中如果服务器没有处理完成用户必须等待服务器处理完成服务器处理完成->用户继续执行自己的操作2:异步:用户请求服务器->服务器处理用户的请求在这过程中如果服务器没有处理完成用户继续执行自己的操作服务器处理完成返回处理结果给用户3:阻塞:用户请求服务器->服务器处理用户的请求在这过程中用户必须等待处理结果造成了阻塞4:非阻塞用户请求服务器->服务器处理用户的请求在这过程中用户执行自己的其他操作服务器只需要处理完给个结果就可以了
查看完整描述

2 回答

?
杨__羊羊

TA贡献1943条经验 获得超7个赞

同步异步和阻塞非阻塞要分开来看。
同步异步关心的是“消息通知机制”。
比如你打电话去书店问你这里有没有某某书。
同步的做法是,老板会说让你等一下,我找找。这时整个通信过程会在一次通话中完成。
异步的做法是,老板说我找一下,迟点在回复你。此时通信过程分成两次通话完成。
而阻塞非阻塞关心的是“程序在等待调用结果(消息,返回值)时的状态”。
同样是上面的例子。
阻塞的做法是你打电话问了之后,就一直拿着电话在等老板的回复,等待期间其他什么都不干。
而非阻塞则是你先放下电话,等老板来回复才回来继续这个通话。
那么剩下的就很好理解。
同步阻塞就是你一直在那里等,老板也不挂掉电话而是直到他找到或者没找到再回复你。
异步阻塞就是,尽管老板已经说了找到了再另行通知你,你仍就是停在那里,什么都不干的等电话
同步非阻塞就是,老板没挂断电话,但是你仍旧去干其他事情了,不在电话前等着他。
异步非阻塞就是大家都不等在电话前。
                            
查看完整回答
反对 回复 2019-05-25
?
波斯汪

TA贡献1811条经验 获得超4个赞

假如你要办理银行业务
同步阻塞;首先你来到银行去登记了你要办理的业务,然后银行的人说,注意看那个屏幕,到你就来,不要离开这里,不要做其它的事情同步非阻塞:首先你来到银行去登记了你要办理的业务,然后银行的人说,注意看那个屏幕,到你就来,不要离开这里,于是你一直不停的看到你没,这时来了个电话,你边打电话边看异步阻塞;首先你来到银行去登记了你要办理的业务,然后银行的人说,到你了就通知你,你回去吧,但是你回去了什么事情都别做异步非阻塞:超级vip要办理业务,来银行说,我要办理什么业务,银行说好,我们办好了把结果反馈给你,你说好,于是走了,出去吃饭去了。
                            
查看完整回答
反对 回复 2019-05-25
  • 2 回答
  • 0 关注
  • 1605 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信