Node.js之一

Node.js是基于事件驱动和异步1O机制而运行的。Node.js的任务基本上都是以异步的形式执行的,而异步任务完成后的行为则由异步任务调用时的回调函数来决定。Node.js的底层Libuv保证了这个机制在所有平台包括Linux和Windows上都可以运行。可以看出Node.js相比其他的服务器端语言,有以下四个特点:
(1)异步:以异步的方式进行1/0等操作,后续的任务可以不等待前面的任务完成即可执行,这就可以保证后续任务的及时执行,并且能够在异步任务完成后,通过回调函数正确处理异步任务的结果。这样既能使请求处理更加及时,又保证了多任务执行的高效性。
(2)事件驱动模型:Nodejs借鉴了在浏览器中广泛应用的事件处理机制,许多任务的执行依靠事件的发生来驱动,这样的编程方式具有轻量级、松耦合、只关注事务点等优势3)单线程:Nodejs在运行时只有一个主线程,所有的任务都将在此线程中处理完成,这就避免了多线程语言中具有的状态同步、死锁、切换线程开销大等问题。同时,为了充分利用多核CPU的计算能力,Node.js引入了子进程机制,允许用户将任务分发给多个子进程处理,加快了处理速度。
(4)跨平台:Node.is的异步I/O由Libuv实现,而Libuv封装了Linux平台和Windows平台的异步1/0机制,这就使得Node.js可以在多个平台无差别运行。
基于以上特点,Node.js更适用于构建高并发、10密集型的Web应用,它成为了开发快速、可扩展的web应用的完美工具[23],Node.js另外一个特点是,它允许用户统一使用JavaScript来编写浏览器端和服务端代码,能够有效地提高开发效率。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值