Web/11-Node.js/02-Node.js的特点.md
2021-07-29 11:08:52 +08:00

36 lines
1.2 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: 02-Node.js的特点
publish: true
---
<ArticleTopAd></ArticleTopAd>
## Node.js 的特点
- 异步非阻塞 IO 模型
- 事件循环
- 单线程
- 总结轻量和高效
Node.js 的性能和效率非常高
传统的 Java 语言是一个请求开启一个线程当请求处理完毕后就关闭这个线程 Node.js 则完全没有采用这种模型它本质上就是一个单线程
你可能会疑问一个线程如何服务于大量的请求如何处理高并发的呢这是因为Node.js 采用的是异步的非阻塞的模型
这里所谓的单线程指的是 Node 的主线程只有一个为了确保主线程不被阻塞主线程是用于接收客户端请求但不会处理具体的任务 Node 的背后还有一个线程池线程池会处理长时间运行的任务比如 IO 操作网络操作线程池里的任务是通过队列和事件循环的机制来执行
## 使用 Node.js 时的劣势
- 程序运行不稳定可能会出现服务不可用的情况
- 程序运行效率较低每秒的请求数维持在一个较低的水平
- 前端同学对服务器端的技术不太熟悉