前言
本篇文章主要笔者对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的特点和优缺点.