javascript – Node.js产生多个进程
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – Node.js产生多个进程,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1698字,纯文字阅读大概需要3分钟。
内容图文
我对node.js应用程序有点困惑.据我所知,node.js在一个进程中运行.但是,如果我通过调用节点app.js启动我的应用程序并使用htop监视它,我可以看到4个子进程在运行,我希望只有一个子进程.
app.js
var express = require('express'),
routes = require('./routes'),
objects = require('./objects'),
http = require('http'),
path = require('path'),
pinLayout = objects.pinlayout,
// utils
util = require('util'),
wiringPi = require('wiring-pi'),
winston = require('winston'),
async = require('async');
// Logger - winston
var log = new(winston.Logger)({
transports: [
new(winston.transports.Console)({
colorize: true,
timestamp: true
}),
new(winston.transports.File)({
filename: './log/app.log'
})
]
});
// WiringPi
wiringPi.setup('gpio');
var app = express();
// all environments
app.set('port', process.env.PORT || 3001);
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.use(express.favicon());
app.use(express.logger('dev'));
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(require('less-middleware')({
src: __dirname + '/public',
force: true,
compress: true
}));
app.use(app.router);
app.use(express.static(path.join(__dirname, 'public')));
// 404 Page
app.use(function(req, res, next) {
res.render('404.jade', {
title: "404 - Page Not Found",
showFullNav: false,
status: 404,
url: req.url
});
});
// development only
if ('development' == app.get('env')) {
app.use(express.errorHandler({
dumpExceptions: true,
showStack: true
}));
}
解决方法:
虽然您的代码在单个线程中运行,但node.js主要使用线程池进行文件系统操作.这是必需的,因为fs没有异步API.
例如,当你调用file.readFile时,你将通过Read(),它将调用:
ASYNC_CALL(read, cb, fd, buf, len, pos);
read是阻塞的unix read(2).这将在一个线程中运行,直到它完成.这些是你看到的主题.
内容总结
以上是互联网集市为您收集整理的javascript – Node.js产生多个进程全部内容,希望文章能够帮你解决javascript – Node.js产生多个进程所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。