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

同步异步、阻塞非阻塞

同步异步、阻塞非阻塞

鸿蒙传说 2019-01-19 06:25:46
有关同步异步、阻塞非阻塞的理解,看了很多博客不清楚以下的概括对否,请各位大佬帮忙看看。 同步与异步:主要阐述任务之间的依赖关系,假设任务A调用任务B,任务A需要等待任务B的完成才能继续执行,这叫同步,而如果任务A调用任务B后立马返回结果,并且在B执行完后会主动通知A,此时成为异步。 阻塞与非阻塞:主要阐述任务与CPU资源的关系,假设任务A调用任务B,任务A需要等待任务B的完成才能继续执行,此时CPU也还保持任务A所在线程一直等待,这叫阻塞;而如果CPU此时挂起任务A所在线程去执行其他线程,时不时回来询问A是否阻塞完毕,完毕才有可能执行线程A,这叫非阻塞 不知道这样理解有没有偏差,希望各位指点一下
查看完整描述

2 回答

?
繁花如伊

TA贡献2012条经验 获得超12个赞

没有问题,同步与异步关注的是消息通信机制,所谓同步,就是在调用者发出一个“调用”,在得到返回结果之前,该“调用”就不返回,一旦调用返回,就是得到了结果。异步是指调用者在发出“调用”之后,不必等到调用结果就可以直接返回。得到调用结果后由被调用者通知调用者

阻塞与非阻塞关注的是程序在等待调用结果时的状态。
阻塞调用是指调用者在结果返回之前,当前线程会被挂起,会一直等到结果的返回。
非阻塞调用值在不能立刻得到结果时,不阻塞当前进程。

查看完整回答
反对 回复 2019-02-12
  • 2 回答
  • 0 关注
  • 500 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号