Day1: 了解Node.js基础概念
理念
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境
I/O是input/output的意思,就是输入输出操作
非阻塞I/O:I/O时函数立即返回,进程不等待I/O完成事件驱动:- I/O等异步操作结束后的通知
CPU密集 VS I/O密集
- CPU密集:压缩、解压、加密、解密
- I/O密集:文件操作、网络操作、数据库
web常见场景:I/O密集
- 静态资源读取
- 数据库操作
- 渲染页面
高并发应用之道
- 增加机器数
- 增加每台机器的CPU数——多核
进程
进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础多进程指计算机同时执行多个进程,一般是同时运行多个软件,多个进程可以一块执行多个任务
线程
- 线程:进程内一个相对独立的、可调度的执行单元,与同属于一个进程的线程共享进程的资源
- 多线程:启动一个进程,在一个进程内启动多个线程,这样多个线程也可以一块执行多个任务
Nodejs的单线程
- 单线程只针对于主进程,I/O操作系统底层多线程调度
- 单线程并不是单进程
常用场景
- Web Server
- 本地代码构建
- 实用工具开发