异步 同步

本文深入探讨了事件处理及IO模型中的同步与异步概念。解析了回调函数在事件处理上的应用及其与多线程的关系,同时对比了同步与异步IO的特点,包括reactor模型和proactor模式。

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

  1. 事件处理上的同步,异步
    1. 回调函数在事件处理上,属于同步;回调函数用于层间协作,上层将回调函数安装在下层,调用。
    2. 异步调用在应用程序框架中具有广泛的应用,并且特指多线程情况下。它同Windows的消息循环机制,消息响应,消息队列,事件驱动机制以及设计模式中的观察者模式等都是紧密相关的。 在单线程方式下,计算机是一台严格意义上的冯·诺依曼式机器,一段代码调用另一段代码时,只能采用同步调用,必须等待这段代码执行完返回结果后,调用方才能继续往下执行。有了多线程的支持,可以采用异步调用,调用方和被调方可以属于两个不同的线程,调用方启动被调方线程后,不等对方返回结果就继续执行后续代码。被调方执行完毕后,通过某种手段通知调用方:结果已经出来,请酌情处理。
  2. IO模型的同步,异步
    1. 同步:等待网络io操作完成后返回
      1. reactor模型;select,poll,epoll,同步的事件驱动
    2. 异步:不等待io操作完成,就返回
      1. procator模式;iocp(windows),linux底层没有真正实现异步io。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值