既然node是单线程的,那么假如十个用户同时去请求服务器查询修改同一个数据,node这时只能处理一个请求,只能一个一个来执行.
let a='test'
router.get('/test/match',function(req,res){
/*修改 a*/
}
那么node怎么做到请求相互之间互不干扰的?因为是排队执行,像上面的全局变量a被修改后,下一个请求a变量值已经改变,会影响到下个请求处理.
既然node是单线程的,那么假如十个用户同时去请求服务器查询修改同一个数据,node这时只能处理一个请求,只能一个一个来执行.
let a='test'
router.get('/test/match',function(req,res){
/*修改 a*/
}
那么node怎么做到请求相互之间互不干扰的?因为是排队执行,像上面的全局变量a被修改后,下一个请求a变量值已经改变,会影响到下个请求处理.
node 确实存在这个问题,所以在处理这部分的时候要特别注意。
单纯你的例子的话,放在回调函数内部,就不会影响其他用户了
router.get('/test/match',function(req,res){
let a='test'
/*修改 a*/
}
5 回答4.8k 阅读✓ 已解决
4 回答2.5k 阅读✓ 已解决
2 回答1.8k 阅读✓ 已解决
5 回答1.9k 阅读
2 回答1.4k 阅读✓ 已解决
3 回答2k 阅读
1 回答3.3k 阅读
与用户状态相关的变量可以放在 cookie 里,node 也是可以充分利用多核系统的:http://nodejs.cn/api/cluster....