I/O和事件驱动

//灵魂深处闹革
Node.js是什么,设计它的初衷是什么,它致力于解决什么问题
这才是本章的要义。
======================================================
I/O的意义
Node.js想要解决的问题
并发的意义
实现并发的方法
======================================================
Node.js的定义
Node是一个平台。这是一个结论。
这个平台是构建在chrome的javascript运行时之上的。
Node的使用场景是构建网络应用程序。
Node是基于事件驱动和非阻塞的I/O模型开发。
在大数据和实时性方面尤为擅长。
======================================================
在传统的web中,表单是承载数据的载具,同时也是限定用户输入的载具,
因此用户的输入是可以预测的。但是在游戏的世界里,情况大不相同。
首先游戏玩家同时在线的可以达到百万级别,他们通过键盘输入各种不同的
组合输入,因此你是无法预测他们的行为。表单在此处丧失了作用,一切都是
实时的,异步的。
=======================================================
联网的I/O更是不可预测
你发送了一个http请求,你不知道这个请求什么时候会返回结果,因为影响
返回结果的因素太多了,而且很多都是不可控的。这也是网络编程有意思的地方。
事件驱动编程
每一个dom元素都有相应的事件,比如button的click事件
我们无法预测这个事件什么时候发生,我们也无法预测这个事件会发生几次,但是
我们知道这个事件一定会发生。人家说:事件驱动编程是处理不可预测性编程的
最佳方式。我愿意相信。
Node使用事件驱动来解决并发问题,知道有这么一回事就可以,这里面水很深。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值