注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

云水居

云在青山水在天,人在江湖不得闲

 
 
 

日志

 
 

[译]node.js入门  

2010-12-31 22:27:53|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

查看全文


简介:
Node的目标是提供一个简单的构建网络程序的方法。在下面的"hello world"例子中,很多客户端连接可以被并行地处理。Node告诉操作系统(通过epoll, kqueue, /dev/poll, 或select)在新连接创建时通知它,然后它进入睡眠状态。如果有新的连接,它就会执行回调函数。每个连接仅仅是一个很小的堆申请。

Node的处理模型和现在常用的使用操作系统线程的并发模型不同。基于线程的网络相对效率低并且难以使用。与传统线程模型对每个新连接都要申请2M的线程堆栈相比,Node在高负载下表现出更好的内存效率。而且,Node用户不必关心进程死锁,因为Node里根本没有锁的概念。Node几乎没有直接执行IO操作的函数,进程也就永不阻塞,因为没有阻塞,即使不是专家也能编写快速的系统。
Node在设计上受Ruby的Event Machine和Python的Twisted影响并且和它们有些像。Node更注重事件模型,它将事件循环作为语言结构而不是类库。在其它的系统中,一般会有一个阻塞的调用来开始事件循环,在脚本的开始使用回调函数定义一个行为,然后在最后通过调用阻塞的调用(例如EventMachine::run())来启动服务。Node没有这样的启动事件循环的函数调用,它执行完输入脚本后自动进入事件循环,这有点像浏览器的JavaScript,事件循环对用户隐藏了。

译注:一句话,node.js 是一种事件驱动地编写并发网络程序的脚本语言,语法与JavaScript相似。

下载源代码:
$ wget http://nodejs.org/dist/node-v0.2.6.tar.gz

编译安装:
$ tar xf node-v0.2.6.tar.gz
$ cd no

查看全文

  评论这张
 
阅读(2250)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017