纵说“同步”与“异步”

本文深入探讨同步与异步的概念,分别从编程和数字电路的角度进行阐述。在编程中,同步意味着调用者需等待结果,如sendmessage函数,而异步则是非阻塞调用,如异步Socket通信。在数字电路中,同步电路拥有固定的时钟相位关系,而异步电路则没有这种约束,通常用于组合逻辑电路和时序电路中的特殊场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

纵说“同步”与“异步”


声明:引用请注明出处http://blog.youkuaiyun.com/lg1259156776/


说明:这里只是为了强调两个概念,同步和异步的含义。在数字电路中通常指的是有无同步时钟信号,如果有同步时钟,就称为同步,没有则称为异步。比如同步串行通信与异步串行通信,SDRAM中的S也是指的同步时钟的意思。在操作系统或者是多任务编程中,同步与异步指的是函数调用的返回时间,比如线程同步与线程异步。这里对相关概念进行梳理。


1. 编程中的同步与异步

这里的同步指的就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。也就是必须一件一件事做,等前一件做完了才能做下一件事。最常见的例子就是sendmessage函数,该函数发送一个消息给某个窗口,在对方处理完消息之前,这个函数不返回。当对方处理完毕以后,该函数才把消息处理函数所返回的lresult值返回给调用者。
这里的异步指的就是当一个异步过程调用发出后,调用者不能立刻得到结果。实际处理这个调用的部件在完成后,通过状态、通知和回调来通知调用者。比如在套接字socket编程中,当一个客户端通过调用connect函数发出一个连接请求后,调用者线程立刻可以朝下运行。当连接真正建立起来以后,socket底层会发送一个消息通知该对象。
下面一段摘自

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zhang_P_Y

感谢支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值