同步、异步、阻塞、非阻塞之间的区别

个人理解:

首先涉及两个对象:调用方 和 被调用方。

阻塞非阻塞是指调用方的态度;

同步异步是被调用方的特征;

从大的概念上来讲同步和异步关注的是消息通信机制,阻塞和非阻塞关注的是程序在等待调用结果(消息,返回值)时的状态.

比如程序(调用方)调用某个函数A(被调用方):

  • 针对A函数,若A函数必须要执行完才返回,则是同步调用;若A立刻返回,后面得到具体结果后在通知程序,则是异步调用。
  • 针对调用方(进程/线程):若在调用A后,啥也不干,一直阻塞,等着A返回,则是阻塞方式;若调用A后,不阻塞在这里,去做其他的事儿,时不时check下A是否返回结果,则属于非阻塞状态。

参考:怎样理解阻塞非阻塞与同步异步的区别?(里面很多回答也是错的,可能我这篇博客写的东西也是错的,先记录下吧,以后有权威的解释了再来更改)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值