您的位置:首页 > Web前端 > Node.js

Node.js学习记录1

2016-10-11 14:39 375 查看

node特性

1,单线程、异步、非阻塞io 。
2,事件驱动、事件环。


1,异步式io

对于高并发解决方案,
传统架构:为每个请求创建一个新的线程,每个线程开辟独立工作内存空间,由cpu进行线程间切换调度。
node:单线程模型,cpu利用率高,减少多线程的开销,避免了上下文切换。
对于操作系统而言,创建一个线程代价较高,需要分配内存、列入调度、线程间切换的时候需要执行内存换页,cpu缓存被清空,切换回来的时候重新从内存中出去数据。


同步IO(阻塞)异步IO(非阻塞)
利用多线程提供吞吐量单线程即可实现高吞吐量
通过时间片和线程调度利用多核cpu通过功能划分利用多核cpu
需要由操作系统调度多线程使用多核cpu可以将单进程绑定到单核cpu
难以充分利用cpu资源可充分利用cpu资源
内存轨迹大,数据局部性弱内存轨迹小,数据局部性强
符合线性编程思维不符合传统编程思维

2,事件

nodejs所有异步IO操作都会在完成时发送一个事件到事件队列。


事件循环机制

nodejs程序由事件循环开始到事件循环结束,所有的逻辑都是事件的回调函数。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  node.js