随笔分类 - NodeJS
NodeJS是一个基于Google V8引擎的JavaScript运行环境。
摘要:前述 nodejs在v0.6.x之后增加了一个模块cluster用于实现多进程,利用child_process模块来创建和管理进程,增加程序在多核CPU机器上的性能表现。本文将介绍利用cluster模块创建的多线程如何共享数据的问题。进程间数据共享 首先举个简单的例子,代码如下:var cluster = require('cluster'); var data = 0;//这里定义数据不会被所有进程共享,各个进程有各自的内存区域 if (cluster.isMaster) { //主进程 var numCPUs = require('os').cpus().l
阅读全文
摘要:前述 我们都知道nodejs最大的特点就是单进程、无阻塞运行,并且是异步事件驱动的。Nodejs的这些特性能够很好的解决一些问题,例如在服务器开发中,并发的请求处理是个大问题,阻塞式的函数会导致资源浪费和时间延迟。通过事件注册、异步函数,开发人员可以提高资源的利用率,性能也会改善。既然Node.js采用单进程、单线程模式,那么在如今多核硬件流行的环境中,单核性能出色的Nodejs如何利用多核CPU呢?创始人Ryan Dahl建议,运行多个Nodejs进程,利用某些通信机制来协调各项任务。目前,已经有不少第三方的Node.js多进程支持模块发布,而NodeJS0.6.x 以上的版本提供了一个c.
阅读全文
摘要:准备工作(1)本机系统说明:本人机器为win7 64位,32位也可以。(2)软件安装: VISUAL C++ 2010 EXPRESS(Visual Studio 2010也可以); windows下安装NodeJS,可以从官网http://www.nodejs.org下载msi版进行快捷安装;(3)源码准备:从官网下载SourceCode版本node-v0.10.5.tar(笔者下载时的最新代码版本为v0.10.5),解压到windows任意目录下,如D:\node-v0.10.5。编写node的C/C++原生扩展[1]打开Windows命令行cmd.exe,进入D:\node-v0.1..
阅读全文
摘要:NodeJS内建有一个HTTP服务器供调试使用。学习任何新语言或新技术的第一步就是要写一个Hello World(世界,你好)程序,下面就直接贴出代码吧。首先需要建立一个名为 app.js 的文件,内容为://app.jsvar http = require('http');http.createServer(function(req, res) {res.writeHead(200, {'Content-Type': 'text/html'});res.write('<h1>Node.js</h1>');
阅读全文
摘要:开发中遇到的问题 如果你有 PHP 开发经验,会习惯在修改 PHP 脚本后直接刷新浏览器以观察结果,而你在开发 Node.js 实现的 HTTP 应用时会发现,无论你修改了代码的哪一部份,都必须终止Node.js 再重新运行才会奏效。这是因为 Node.js 只有在第一次引用到某部份时才会去解析脚本文件,以后都会直接访问内存,避免重复载入,而 PHP 则总是重新读取并解析脚本(如果没有专门的优化配置)。Node.js的这种设计虽然有利于提高性能,却不利于开发调试,因为我们在开发过程中总是希望修改后立即看到效果,而不是每次都要终止进程并重启。这时若你修改了js文件,或是调试功能,或是增加功能。这
阅读全文
摘要:一、NodeJS简介 思考 首先我们来思考一个问题:我们都知道几乎所有现代主流浏览器都全面支持了ECMAScript 5.1版标准,而JavaScript的标准是ECMAScript。那么我们就容易认为JavaScript是一种浏览器端的解释型编程脚本。那么脱离了浏览器,JavaScript还能够解释运行吗?答案是肯定的,也就是说脱离了浏览器,在特定环境下JavaScript还是能运行的。JavaScript向来以Web网页的脚本语言而著称,但现在也可以用在许多非浏览器环境,例如node.js或者Apache CouchDB。本文就是基于NodeJS来进行探讨。 NodeJS是什么? ...
阅读全文

浙公网安备 33010602011771号