Node.js的每个线程都是单线程运行吗?
- 内容介绍
- 文章标签
- 相关推荐
本文共计591个文字,预计阅读时间需要3分钟。
Node.js是单线程运行的,采用单线程异步非阻塞模式;但严格来说,Node.js中存在多种线程,单线程是指只有一个JavaScript引擎在主线程上运行,而其他异步操作则由独立的线程执行。
node是单线程运行的,采用单线程异步非阻塞模式;但是严格来说node中存在着多种线程,单线程是指node中只有一个js引擎在主线程上运行,其他的异步操作也是有独立的线程去执行,同时node默认是单线程,一个“node.js”无法利用多核资源。
本教程操作环境:windows10系统、nodejs 12.19.0版本、Dell G3电脑。
node都是单线程运行的吗
node是单线程运行的,采用单线程异步非阻塞模式。
提到node,我们就可以立刻想到单线程、异步IO、事件驱动等字眼。首先要明确的是node真的是单线程的吗,如果是单线程的,那么异步IO,以及定时事件(setTimeout、setInterval等)又是在哪里被执行的。
其实,按照严格来说,node并不是单线程的。node中存在着多种线程,包括:
js引擎执行的线程
定时器线程(setTimeout, setInterval)
异步http线程(ajax)
我们平时所说的单线程是指node中只有一个js引擎在主线程上运行。
本文共计591个文字,预计阅读时间需要3分钟。
Node.js是单线程运行的,采用单线程异步非阻塞模式;但严格来说,Node.js中存在多种线程,单线程是指只有一个JavaScript引擎在主线程上运行,而其他异步操作则由独立的线程执行。
node是单线程运行的,采用单线程异步非阻塞模式;但是严格来说node中存在着多种线程,单线程是指node中只有一个js引擎在主线程上运行,其他的异步操作也是有独立的线程去执行,同时node默认是单线程,一个“node.js”无法利用多核资源。
本教程操作环境:windows10系统、nodejs 12.19.0版本、Dell G3电脑。
node都是单线程运行的吗
node是单线程运行的,采用单线程异步非阻塞模式。
提到node,我们就可以立刻想到单线程、异步IO、事件驱动等字眼。首先要明确的是node真的是单线程的吗,如果是单线程的,那么异步IO,以及定时事件(setTimeout、setInterval等)又是在哪里被执行的。
其实,按照严格来说,node并不是单线程的。node中存在着多种线程,包括:
js引擎执行的线程
定时器线程(setTimeout, setInterval)
异步http线程(ajax)
我们平时所说的单线程是指node中只有一个js引擎在主线程上运行。

