首页 新闻 搜索 专区 学院

全局变量之联想的局部变量疑问

0
悬赏园豆:10 [已解决问题] 解决于 2014-08-18 11:21

各位大侠,关于全局变量我想大家都知道下面这句话

如果几个客户端都在访问同一个界面,则
这些界面中的全局变量共享的,也就是说一个客户端此时修改了本界面中的全局变量的
的值,其它用户访问这个界面中全局变量的值也会跟着改变. 会导致不可预料的情况发生,所以一般是慎用全局变量,上面指的是页面上的全局变量。

我想说对于一个函数体内的变量会不会引发这种类似的问题,假如一个页面中的button按钮事件如下()

{

    int sum=0;

    for(int j=0;j<10000000;j++)

   {

      ......//假设这里需要很多复杂的逻辑判断(这个循环要运行10秒以上),然后最后一句代码              //是对sum进行累加

     sum+=j;//累加

   }

   int k=sum;//讲累加后的值赋给一个新变量

}

我想说的是在函数体内sum相对于for循环是全局变量,如果两个用户同时进入这个页面,其中一个页面点击了button按钮触发了这个函数,假设另一个用户在一秒之后也点击这个按钮。

此时会不会出现在第二个用户点击时候重新赋予的sum的值,而导致改变影响前一个用户已经运行的程序中的sum值呢?

xiaoqiangzhou的主页 xiaoqiangzhou | 初学一级 | 园豆:83
提问于:2014-04-04 22:12
< >
分享
最佳答案
0

应该 不会 , 我不知道asp是怎么实现了,如果java的话,每一个访问是隔开的。此sum非彼sum.

收获园豆:10
angelshelter | 大侠五级 |园豆:9678 | 2014-04-04 22:35

JAVA的话全局变量也是隔开的吗?

xiaoqiangzhou | 园豆:83 (初学一级) | 2014-04-05 12:49

@xiaoqiangzhou: 恩,通过线程锁什么的,达到隔离的目的。

angelshelter | 园豆:9678 (大侠五级) | 2014-04-05 20:58
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册