绝大多数对于node.js的讨论都把关注点放在了处理高并发能力上,做开发的时候一定要明白node内部做出的权衡,以及node应用性能好的原因。
node 为javascript引入了一个复杂的概念,:共享状态的并发。
node采用一个长期运行的进程
而php在apache中会产生多个进程
立即学习“PHP免费学习笔记(深入)”;
如下图所示:
代码验证:
PHP:
<?php$i = 0;$i++;echo $i
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中,需要对回调函数修改内存中的变量的时候要特别小心。
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号