同步异步,阻塞非阻塞

同步异步

1.含义:
同步:
发起一个请求,必须等到回复才进行下一步操作。必须一件事一件事的做,等前一件做完了,才能做下一件事。需要调用者自己主动获取返回结果

异步:
当一个异步操作发出后,调用者在没有得到结果之前,可以继续执行后续操作。需要由被调用者告诉调用者返回结果

2.二者的区别:
请求发出后,是否需要等待请求结果,才能继续执行其他操作。

阻塞非阻塞

1.含义:
阻塞调用:
调用结果返回之前,当前线程会被挂起。调用线程只有在得到结果之后才会被唤醒执行后续的操作。

非阻塞调用:
在不能立刻得到结果之前,该调用不会阻塞当前线程。

2.二者的区别:
该调用不会阻塞住当前线程

区别

1.同步异步表示一种协作方式,是从全局的角度来说明业务过程。阻塞和非阻塞强调的是程序在等待调用结果(消息,返回值)时的状态

2.阻塞/非阻塞:进程/线程需要操作的数据如果尚未就绪,是否妨碍了当前进程/线程的后续操作。
同步/异步:数据如果尚未就绪,是否需要等待数据结果。

3.阻塞调用是指调用结果返回之前,当前线程会被挂起。调用线程只有在得到结果之后才会返回。非阻塞调用指在不能立刻得到结果之前,该调用不会阻塞当前线程。
对于同步调用来说,很多时候当前线程还是激活的状态,只是从逻辑上当前函数没有返回而已,即同步等待时什么都不干,白白占用着资源

4.组合方式:
同步阻塞
同步非阻塞
异步阻塞
异步非阻塞

举例子

同步:
小明去窗口买票(同步),没有票之前一直等着票出来(阻塞)
异步:
小明去不窗口买票,而是让售票员有票后通知他(异步),期间去做任何其他事情(非阻塞)

Reference

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值