[請益] 全域變數存取問題

看板PHP作者 (蔥頭)時間13年前 (2012/09/13 08:09), 編輯推噓1(105)
留言6則, 3人參與, 最新討論串1/1
請問一下 如果程式中會執行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

09/13 09:14, , 1F
code 都寫出來了,怎麼不自己實測一下 o_Oa"
09/13 09:14, 1F

09/13 10:26, , 2F
關鍵字 race condition
09/13 10:26, 2F

09/14 01:13, , 3F
最近才在ajax碰到活生生的教訓︰如果你的查詢特別大,大
09/14 01:13, 3F

09/14 01:14, , 4F
到你不耐煩調整選項重送一次,那麼舊的查詢有可能在新查
09/14 01:14, 4F

09/14 01:16, , 5F
詢完成後又跟著傳回來…後來的sol'n是查詢時送出時間碼
09/14 01:16, 5F

09/14 01:16, , 6F
放在json裡一起送回來,並檢查是否符合…
09/14 01:16, 6F
文章代碼(AID): #1GKIH7oc (PHP)
文章代碼(AID): #1GKIH7oc (PHP)