Node.js学习记录1

来源:互联网 发布:美呼软件靠谱吗 编辑:程序博客网 时间:2024/05/18 00:17

node特性

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

1,异步式io

对于高并发解决方案,传统架构:为每个请求创建一个新的线程,每个线程开辟独立工作内存空间,由cpu进行线程间切换调度。node:单线程模型,cpu利用率高,减少多线程的开销,避免了上下文切换。对于操作系统而言,创建一个线程代价较高,需要分配内存、列入调度、线程间切换的时候需要执行内存换页,cpu缓存被清空,切换回来的时候重新从内存中出去数据。
同步IO(阻塞) 异步IO(非阻塞) 利用多线程提供吞吐量 单线程即可实现高吞吐量 通过时间片和线程调度利用多核cpu 通过功能划分利用多核cpu 需要由操作系统调度多线程使用多核cpu 可以将单进程绑定到单核cpu 难以充分利用cpu资源 可充分利用cpu资源 内存轨迹大,数据局部性弱 内存轨迹小,数据局部性强 符合线性编程思维 不符合传统编程思维

2,事件

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

事件循环机制

nodejs程序由事件循环开始到事件循环结束,所有的逻辑都是事件的回调函数。
0 0
原创粉丝点击