同步、异步、事件驱动

参考:
非阻塞式I/O模型、异步与事件驱动–关于NodeJs的思考
Apache和Nginx比较
几种 IO编程比较

首先需要区分一下异步、非阻塞式与事件驱动的定义。

异步

从字面上来看即非同步(asynchronous/synchronous),发出请求后是否需要立即得到回复是异步与同步的工作模式的主要区别。在异步模式中,发出某个请求后不需要等待得到回复,直接return以便于继续后续工作,而同步模式则要求在请求后就得到回复,否则持续在函数内等待且不return进入后续操作。发邮件和打电话这两张联系方式很好的体现了异步与同步的区别,通常当我们发出一封邮件时并不需要立即获得对方的回复,而是继续做自己其它的事情,当对方收到邮件并回复之后再返回继续处理该邮件事宜。而打电话则不同于邮件,拨号后人们通常会持续等待对方接通电话,直到拨号超时挂断。本文提到的Node.js即是典型的异步编程,而HTTP请求即是常见的同步通讯,发出请求并立即获得回应。

非阻塞式

非阻塞式通常是对于I/O操作而言的,意思就是当你请求一个系统调用的时候,不管收到什么结果函数都会立即返回,而不让线程进入休眠状态以等待I/O操作的完成。相反阻塞式I

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值