NodeJS学习记录
记录一下nodejs的学习之路 阻塞I/O:I/O时进程休眠等待I/O完成后进行下一步 非阻塞I/O:I/O时函数立即返回,进程不等待I/O完成 I/O等异步操作结束后的通知 观察者模式 Node.js is a JavaScript runtime built on Chrome's V8 Node.js uses an event-driven,non-blocking I/O model CPU密集:压缩、解压、加密、解密 I/O密集:文件操作、网络操作、数据库操作 前端职责范围变大,统一开发体验 在处理高并发,I/O密集场景( web场景 )性能优势明显 web常见场景 静态资源的获取 数据库操作 渲染页面 增加机器数、负载均衡 增加每台机器的CPU数-多核 进程:是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位。 线程:进程内一个相对独立的、可调度的执行单元,与同属一个进程的线程共享进程的资源 多进程:启动多个进程,多个进程可以一块执行多个任务 单线程只是针对主进程,I/O操作系统底层多线程调度 Node单线程并不是单进程(node有一个集群(cluster)模块用来处理多进程,cpu有几个核就启动几个进程) Web Server 本地代码构建(现在前端各种框架、ES6、模块化等的出现,前端代码变得异常的复杂,无法直接在浏览器上运行