node 特性及优缺点
Node特性
- 共享状态的并发
单线程(所有请求都是这个线程处理),全局变量所有请求共享,修改时需特别注意对后续请求的影响。
PHP多线程,每次请求,都会新创建一个线程,全局变量会重新加载。
Node 优点:
- 异步事件驱动
异步回调,事件循环队列 - 非阻塞I/O
遇到I/O操作,主线程只注册事件,不会等待结果,而是继续执行,I/O使用异步事件驱动,I/O操作完成后,对应的回调函数添加到事件循环队列中,主线程空闲时处理消息队列中的事件。 - 单线程(这里指主线程)
单线程+事件循环,没有多线程资源占用和上下文的切换。 - 性能出众,适合处理高并发场景
底层C++实现 、V8引擎,异步非阻塞 - javascript语法
便于学习,便于做全栈开发 - npm
避免重复造轮子,npm上有很多高质量的包
node应用场景
- 使用于I/O密集型
http 请求与响应, 磁盘 I/O任务。
在线多人聊天,多人在线小游戏,新闻,博客,微博 - 不使用于CPU密集型
视频解码,大量计算任务。
原文地址 https://blog.csdn.net/hsj1669666567/article/details/79568545