node是异步吗?

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。 Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型。

异步是计算机多线程的异步处理。与同步处理相对,异步处理不用阻塞当前线程来等待处理完成,而是允许后续操作,直至其它线程将处理完成,并回调通知此线程。

node是异步的,异步是计算机多线程的异步处理,Node的单线程指的是JavaScript的执行是单线程的,但Javascript的宿主环境,无论是Node还是浏览器都是多线程的,node通过主线程调度线程池来实现异步。

Node的优点

Node作为一个新兴的前端框架,后台语言,有很多吸引人的地方:

RESTful API

单线程

Node可以在不新增额外线程的情况下,依然可以对任务进行并发处理 —— Node.js是单线程的。它通过事件循环(event loop)来实现并发操作,对此,我们应该要充分利用这一点 —— 尽可能的避免阻塞操作,取而代之,多使用非阻塞操作。

非阻塞IO

V8虚拟机

事件驱动

非阻塞 I/O,也叫异步 I/O,显然对应的就是阻塞式 I/O。

传统的服务器语言大多是多线程、阻塞式 I/O。这也是 Node 与众不同的地方,对于传统的服务器语言,在与用户建立连接时,每一个连接都是一个线程。 当有十万个用户连接时,服务器上就会有十万个线程。

而阻塞式 I/O 是指,当一个线程在执行 I/O 操作时,这个线程会阻塞,等待 I/O 操作完成后继续执行。

以上就是node是异步吗?的详细内容,更多请关注易知道|edz.cc其它相关文章!

推荐阅读

    设置线程名称|tomcat线程名称设置

    设置线程名称|tomcat线程名称设置,,1. tomcat线程名称设置一.tomcat的优化1.tomcat的自身调优采用动静分离调优Tomcat线程池调优Tomcat的

    多线程cpu电脑|多线程的CPU

    多线程cpu电脑|多线程的CPU,,1. 多线程的CPU四核心四线程,表示这个电脑的CPU核心是4个核心、4个线程的。电脑CPU的核心数量和线程数量越多,

    简单的线程池(三)

    简单的线程池(三),吞吐量,线程,◆ 概要本文中,作者针对 《简单的线程池(一)》 和 《简单的线程池(二)》 介绍的两个线程池分别进行了并发测试。基

    Common Lisp支持多线程吗

    Common Lisp支持多线程吗,语言,都是,本文目录Common Lisp支持多线程吗能推荐下比较经典的common lisp 代码么相比Scheme 与 Common Lisp,Cl

    超线程技术是什么

    超线程技术是什么,超线程技术,性能,超线程,提升,执行,线程,超线程技术是什么超线程技术是在一颗CPU同时执行多个程序而共同分享一颗CPU内的资源