为什么要使用nodejs呢?

本文探讨了为何选择Node.js,其单线程、非阻塞I/O及事件驱动的特点,以及它在高并发和I/O密集应用中的优势与局限。针对CPU密集型问题,提出任务拆分和进程复制策略。

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

前言

本篇文章主要笔者对nodejs的理解记录

为什么要使用nodejs呢?

我们从nodejs官网可以知道:nodejs是一门动态语言,nodejs开发非常高效,代码也简单,那是因为nodejs这门语言的特点。它是一个开源与跨平台的 JavaScript 运行时环境。依赖于Chrome V8引擎进行代码解释。

nodejs的三大特点

一. 单线程
二. 非阻塞I/O 即 异步io
三. 事件驱动

就是因为nodejs的特点使nodejs有以下优点和缺点
优点:
1 适合高并发
2 适合I/O密集型应用
缺点:
由于单线程 ,如果长时间的CPU计算会导致 资源无法释放出来 后面的IO也无法调用,所以不适合CPU密集型应用。

解决方法:
就是分解大型运算任务为多个小任务,使得运算能够适时释放,不阻塞I/O调用的发起。

同时
由于只支持单核CPU,所以就会导致电脑的CPU资源无法充分利用。
解决方法:
面对单进程单线程对多核使用率不高的问题,按照之前的经验,每个进程各使用一个CPU即可,以此实现多核CPU的利用。Node提供了child_process模块,并且也提供了fork()方法来实现进程的复制(只要是进程复制,都需要一定的资源和时间。Node复制进程需要不小于10M的内存和不小于30ms的时间)。

总结

以上就是今天要讲的内容,本文仅仅简单介绍了为何使用nodejs的原因,nodejs的特点和优缺点.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值