首页 > 其他 > 详细

Node 的特点以及适合应用的场景

时间:2014-02-14 06:52:54      阅读:311      评论:0      收藏:0      [点我收藏+]

1、异步I/O

异步I/O 相比于同步I/O 效率更高,而且不一样的I/O 之间相互不影响,不阻塞

 

2、事件与回调函数

传递的是事件不是结果。

传递的思路是: 我要干这件事情,我把干这件事情的逻辑告诉你,你调用就可以了。

在javascript中,函数被作为第一等公民对待。函数可以作为一个参数传递。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
http.createServer(function(request,response){
 
    //解析 url 和request string
 
    var pathName = url.parse(request.url).pathname;
 
    //解析
 
    route(handle,pathName);
 
    response.writeHead(200,{"Content-Type":"text/plain"});
 
    response.write(‘结果‘);
 
    response.end();
 
    }).listen(8890);

 

3、单线程(保持了js 在浏览器中特点)

优点:1、不存在死锁的问题,没有线程上下文交换所带来的性能的开销

   2、单线程,系统开销少,可以胜任密集型I/O应用

  

弱点:无法利用多核cpu

   错误会引起整个应用的退出,很考验应用的健壮性

     大量计算占用cpu 导致无法继续调用异步 I/O (node 采用了与web worker 一致的思路解决大计算量阻塞线程的问题: child_process)

4、跨平台,这个就不多说了 

居于以上node的特点,node 比较适合应用在I/O 密集型场景下,当然在cpu密集型的场景也能够胜任,只是在合理调度这块应该应该多思考,这和其他语言也是一样的。

Node 的特点以及适合应用的场景

原文:http://www.cnblogs.com/wend/p/node_feature.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!