脚本宝典收集整理的这篇文章主要介绍了

nodejs学习笔记_nodejs和PHP在基础架构上的区别–共享状态的并发

脚本宝典小编觉得挺不错的,现在分享给大家,也给大家做个参考,希望能帮助你少写一行代码,多一份安全和惬意。

绝大多数对于Node.js的讨论都把关注点放在了处理高并发能力上,做开发的时候一定要明白node内部做出的权衡,以及node应用性能好的原因。

node 为javascript引入了一个复杂的概念,:共享状态的并发。

node采用一个长期运行的进程

而php在apache中会产生多个进程

如下图所示:
请输入图片描述

php:
<?php
$i = 0;
$i++;
echo $i
nodejs:
var http = require('http');
var i=0;
http.createServer(function() {
i++
console.log(i)
}).listen(3000,'127.0.0.1');

当使用浏览器请求这两个地址的时候
PHP会一直输出 1
Node.js会输出 1 2 3 4 5 6 ...
通过图片,可以看出php执行完程序以后,下次执行会重新申请一个新的线程。变量每次执行都会申请内存,赋值为0,加1,因此输出都是1
而nodejs会一直维持一个长期运行的进程,变量i在内存中一直存在,每次执行都会加一,因此会出现1 2 3 4 5 6 ...

apache产生的新的线程每次都会刷新状态,$i会被重新赋值,
node则不会,每次都会给$i加1
因此,node中,需要对回调函数修改内存中的变量的时候要特别小心。

总结

以上是脚本宝典为你收集整理的

nodejs学习笔记_nodejs和PHP在基础架构上的区别–共享状态的并发

全部内容,希望文章能够帮你解决

nodejs学习笔记_nodejs和PHP在基础架构上的区别–共享状态的并发

所遇到的程序开发问题,欢迎加入QQ群277859234一起讨论学习。如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典网站推荐给程序员好友。 本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。

80%的人都看过