Nodejs要点

Node.js采用单线程、非阻塞I/O和事件驱动机制,有效解决服务器高性能瓶颈,适用于大量并发I/O处理及WebSocket长连接应用,但在CPU密集型计算任务上表现不佳。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 Node.js是一个专注于实现高性能Web服务器优化的专家,几经探索,几经挫折后,遇到V8而诞生的项目。

2 Node.js没有web容器

3 Node.js是如何解决服务器高性能瓶颈问题的

4 在Java、PHP或者.net等服务器端语言中,会为每一个客户端连接创建一个新的线程,Node.js不为每个客户连接创建一个新的线程,而仅仅使用一个线程,一个8GB内存的服务器,可以同时处理超过4万用户的连接

单线程,单线程的好处,减少了内存开销,操作系统的内存换页。

如果某一个事情,进入了,但是被I/O阻塞了,所以这个线程就阻塞了。

非阻塞I/O, 不会傻等I/O语句结束,而会执行后面的语句。

非阻塞就能解决问题了么?比如执行着小红的业务,执行过程中,小刚的I/O回调完成了,此时怎么办??

事件机制,事件环,不管是新用户的请求,还是老用户的I/O完成,都将以事件方式加入事件环,等待调度。

说是三个特点,实际上是一个特点,离开谁都不行,都玩儿不转了。

6

Node.js适合用来开发什么样的应用程序呢?

善于I/O,不善于计算。因为Node.js最擅长的就是任务调度,如果你的业务有很多的CPU计算,实际上也相当于这个计算阻塞了这个单线程,就不适合Node开发。

当应用程序需要处理大量并发的I/O,而在向客户端发出响应之前,应用程序内部并不需要进行非常复杂的处理的时候,Node.js非常适合。Node.js也非常适合与web socket配合,开发长连接的实时交互应用程序

7

由于稳定性原因,无法挑战PHP,JSP等有Web服务器的大型稳定应用。

转载于:https://www.cnblogs.com/Golden-JR/p/10846839.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值