首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >nodeJs是事件驱动的吗?

nodeJs是事件驱动的吗?
EN

Stack Overflow用户
提问于 2016-01-28 21:07:45
回答 1查看 118关注 0票数 2

在“专业NodeJS”中,我发现了这样一句话:“这个项目(NodeJS)不像其他服务器端JavaScript平台那样,所有的I/O原语都是事件驱动的,没有办法绕过它。”但是,据我所知,NodeJS是事件驱动的,而NodeJS中的流是事件驱动的。那么,有人能解释这句话吗?

EN

回答 1

Stack Overflow用户

发布于 2016-01-28 21:17:06

Node.js是一个异步事件驱动框架。在下面的"hello world“示例中,可以并发处理多个连接。每次连接时都会触发回调,但如果没有工作要做,Node将处于休眠状态。

代码语言:javascript
复制
const http = require('http');

const hostname = '127.0.0.1';
const port = 1337;

http.createServer((req, res) => {
  res.writeHead(200, { 'Content-Type': 'text/plain' });
  res.end('Hello World\n');
}).listen(port, hostname, () => {
  console.log(`Server running at http://${hostname}:${port}/`);
});

这与当今使用OS线程的更常见的并发模型形成了鲜明对比。基于线程的网络效率相对较低,并且很难使用。此外,Node的用户不用担心进程会死锁--没有锁。Node中几乎没有函数直接执行I/O,因此进程从不阻塞。

有关详细信息,请访问source

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35062392

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档