Node.js教程系列~目录
2015-09-25 16:51
579 查看
Node.js这个东西在近几年火起来了,而且会一直火下去,无论在infoq还是在cnblogs,csdn上,都可以到处看到它的样子,它主推的应该就是异步式I/O 吧,是的,设计的很完美,很吸引人,虽然它与正常思维是不同的,但是当你真正认识它后,也会足够的让你爱上它!Node.js确实改变了我的编程观念,改变了我对计算机系统的认识!
名人总结的话,我们应该回味个几百次
同步式I/O: 线程在执行中如果遇到磁盘读写或网络通信(统称为I/O操作),通常要耗费较长的时间,这时操作系统会剥夺这个线程的CPU控制权,使其暂停执行(阻塞了当前线程中剩下的工作,当耗时操作完成后,才继续执行剩下的代码),同时将资源让给其他的工作线程,这种线程调度方式称为阻塞。当I/O操作完毕,操作系统将这个线程的阻塞状态解除,恢复其对CPU的控制权,令其继续执行。这种 I/O模式就是通常的同步式I/O(Synchronous I/O).
异步式I/O: 当线程遇到I/O操作时,不会以阻塞的方式等待I/O操作的完成或数据的返回,而只是将I/O请求发送到操作系统,继续执行下一条语句。当操作系统完成I /O操作时,以事件的形式通知执行I/O操作的线程,线程会在特定时候处理这个事件。为了处理异步I/O,线程必须有事件循环,不断地检查有没有未处理的事件,依次处理。(有个事件队列机制,它永远的轮训着,当有需要处理的事件时,就会处理这个事件的回调方法)
完善的事件轮询机制,改变了程序的运行方式,改变了程序员的思维!
第一个小例子,实现了request.querystring功能
第二个小例子,解决中文乱码的问题
第三个小例子,NodeJs与Redis实现高并发的队列存储
第四个小例子,NodeJs处理Get请求和Post请求
环境搭建,Hello world归来!
Node.js与Sails系列
Node.js与Sails~项目结构与Mvc实现
Node.js与Sails~自定义响应体responses
Node.js与Sails~日志机制log
Node.js与Sails~方法拦截器policies
Node.js与Sails~Model数据模型
Node.js与Sails~Model和ORM的持久化
Node.js与Sails~中间查询语言Waterline
Node.js与Express
Node.js的事件机制
Node.js的异步I/O机制
Node.js与MongoDb
Node.js与Redis
Node.js与Sqlserver
永久更新中...
名人总结的话,我们应该回味个几百次
同步式I/O: 线程在执行中如果遇到磁盘读写或网络通信(统称为I/O操作),通常要耗费较长的时间,这时操作系统会剥夺这个线程的CPU控制权,使其暂停执行(阻塞了当前线程中剩下的工作,当耗时操作完成后,才继续执行剩下的代码),同时将资源让给其他的工作线程,这种线程调度方式称为阻塞。当I/O操作完毕,操作系统将这个线程的阻塞状态解除,恢复其对CPU的控制权,令其继续执行。这种 I/O模式就是通常的同步式I/O(Synchronous I/O).
异步式I/O: 当线程遇到I/O操作时,不会以阻塞的方式等待I/O操作的完成或数据的返回,而只是将I/O请求发送到操作系统,继续执行下一条语句。当操作系统完成I /O操作时,以事件的形式通知执行I/O操作的线程,线程会在特定时候处理这个事件。为了处理异步I/O,线程必须有事件循环,不断地检查有没有未处理的事件,依次处理。(有个事件队列机制,它永远的轮训着,当有需要处理的事件时,就会处理这个事件的回调方法)
完善的事件轮询机制,改变了程序的运行方式,改变了程序员的思维!
Node.js教程系列~目录
NodeJS实例系列第一个小例子,实现了request.querystring功能
第二个小例子,解决中文乱码的问题
第三个小例子,NodeJs与Redis实现高并发的队列存储
第四个小例子,NodeJs处理Get请求和Post请求
环境搭建,Hello world归来!
Node.js与Sails系列
Node.js与Sails~项目结构与Mvc实现
Node.js与Sails~自定义响应体responses
Node.js与Sails~日志机制log
Node.js与Sails~方法拦截器policies
Node.js与Sails~Model数据模型
Node.js与Sails~Model和ORM的持久化
Node.js与Sails~中间查询语言Waterline
Node.js与Express
Node.js的事件机制
Node.js的异步I/O机制
Node.js与MongoDb
Node.js与Redis
Node.js与Sqlserver
永久更新中...
相关文章推荐
- LeetCode---Populating Next Right Pointers in Each Node
- tinyxml源码剖析(3)-TiXmlNode类
- C# winform treeview node添加右键菜单并选中节点
- node.js初学笔记
- node 单元测试实践
- iOS数据解析,XML(SAX,DOM - GDataXMLNode)
- node.js模块化
- node js 读取文件内容
- node中非常重要的process对象,Child Process模块
- nodejs 服务器重新启动
- Delete Node in a Linked List -- leetcode
- LeetCode解题报告--Remove Nth Node From End of List
- LEETCODE-Remove Nth Node From End of List
- Leetcode79: Populating Next Right Pointers in Each Node
- GDataXMLNode解析xml数据的简单应用
- 如何获得rac环境中的主节点(how to identify master node in rac)
- SSM+Nodejs
- 在eclipse上开发nodejs
- Inode 无空闲
- node.js之服务器如何处理请求