作者tas72732002 (葱头)
看板PHP
标题[请益] 全域变数存取问题
时间Thu Sep 13 08:09:40 2012
请问一下
如果程式中会执行function a 与 function b , a 与 b function
都会存取一个全域变数 c , 程式如下:
var c = 0 ; //为全域变数
function a()
c=c-1;
}
function b()
{
c=c+5;
}
b();
假设 a() [需要花费比较久的时间完成], b()在a()未完成时,已经跑完,
此时呈现的结果会不会是
c=0+5; //b()已经跑完
当a取得c变数的时候 c=5, 所以最後结果是 c=4;
php会发生这种情况吗???javascript会发生这种情况吗??
预期的结果应该是 a() 执行完 c=-1 , 最後结果为 c=-1+5
这在其他程式应该也会碰到.这类问题有什麽名词吗??
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 111.248.235.250
1F:→ gpmm:code 都写出来了,怎麽不自己实测一下 o_Oa" 09/13 09:14
2F:推 chchwy:关键字 race condition 09/13 10:26
3F:→ MOONRAKER:最近才在ajax碰到活生生的教训︰如果你的查询特别大,大 09/14 01:13
4F:→ MOONRAKER:到你不耐烦调整选项重送一次,那麽旧的查询有可能在新查 09/14 01:14
5F:→ MOONRAKER:询完成後又跟着传回来…後来的sol'n是查询时送出时间码 09/14 01:16
6F:→ MOONRAKER:放在json里一起送回来,并检查是否符合… 09/14 01:16