码迷,mamicode.com
首页 > Web开发 > 详细

Node.js 异步式 I/O 与事件驱动实战

时间:2015-08-06 09:26:52      阅读:143      评论:0      收藏:0      [点我收藏+]

标签:

简介

Node.js 最大的特点就是采用异步 I/O 与事件驱动的架构设计。对于高并发的解决方案,传统的架构是多线程模型,也就是为每个业务逻辑模块提供一个系统线程,通过系统线程切换来弥补同步式 I/O 调用时的时间开销。Node.js 使用的是单线程模型,对于所有 I/O 都采用异步式的请求方式,避免了频繁的上下文切换。Node.js 在执行过程中会维护一个事件队列,程序在执行时进入事件循环等待下一个事件到来,每个异步式 I/O 请求完成后会被推送到事件队列,等待程序进程进行处理。

概念 

同步调用

同步调用是一种阻塞式调用,一段代码调用另一段代码时,必须等待这段代码执行结束并返回结果后,代码才能继续执行下去。 

异步调用

异步调用是一种非阻塞式调用,一段异步代码还未执行完,可以继续执行下一段代码逻辑,当异步代码执行完以后,通过回调返回继续执行相应的逻辑,而不耽误其他代码的执行。

回调

回调并非是异步调用,回调是一种解决异步函数执行结果的处理方法。在异步调用时,如果我们希望将异步代码执行的结果返回并且处理时,可以通过回调的方法解决。注意,回调还是一种阻塞式调用。

补充:异步函数往往不是直接返回执行结果,而是通过事件驱动方式,将执行结果返回到回调函数中,之后在回调函数中处理相应的逻辑代码。 

 

Node.js 异步式 I/O 与事件驱动实战

标签:

原文地址:http://www.cnblogs.com/zero516cn/p/4707017.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!