基本概念-同步、异步、阻塞、非阻塞

早上复习了下这几个概念,做一个简单的总结。
主要参考了这篇链接:[聊聊同步、异步、阻塞与非阻塞](ps:这篇写的真心赞啊!大家可直接看这篇)

概述

同步异步主要是从消息通知的机制角度来说的,而阻塞与非阻塞关注的则是等待消息通知时的状态。
也就是说,同步的情况下,是由处理消息者自己去等待消息是否被触发而异步的情况下是由触发机制来通知处理消息者。

简言之:
同步:消息处理着主动等消息
异步:别人通知消息处理着。
(消息:事件完成,事件触发)

举例:同步I/O,异步I/O
同步I/O自己去等I/O完成,在等的过程中,可以阻塞,可以不阻塞。但是如果不阻塞,因为还是要等,所以需要不断切换任务来“看”I/O是否完成,系统有开销。所以,同步非阻塞I/O效率最低。

异步I/O,自己不等I/O完成,而是I/O完成之后,通知消息处理着,后者去处理。显然,异步非阻塞效率最高。

在上文中,同步异步关心的I/O是否完成(即I/O是否可读)消息调用着是怎么知道的,自己等,还是别人告诉你。阻塞非阻塞关心的是不管是自己等,还是别人告诉你。在你知道消息前,线程所处的状态。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值