1)執行緒處理了全域性變數
package com.medivh.thread;測試結果:public class threadtest3
}class first implements runnable
catch (interruptedexception e)
if(10==this.i)}}
}
first0
first1
first2
first3
first4
first5
first6
first7
first8
first9
至始至終只有乙個first物件,而方法中呼叫的是this.i 那麼就是全部變數,所以當全域性變數i==10時,run方法結束。
2)執行緒呼叫區域性變數
package com.medivh.thread;public class threadtest3
}class first implements runnable
catch (interruptedexception e)
if(10==i)
}}}
測試結果:
first0
first1
first2
first3
first4
first5
first6
first7
first8
first9
first0
first1
first2
first3
first4
first5
first6
first7
first8
first9
run方法中呼叫的this.i的全域性變數,而只呼叫的方法中的變數,而方法執行了兩次,所以結果有20條。
區域性變數和成員變數 全域性變數
區域性變數可以與全域性變數重名,但是區域性變數會遮蔽全域性變數。要使用全域性變數,需要使用 在函式體內引用變數會用到同名的區域性變數而不是全域性變數,對於一些編譯器來說,在同乙個函式體內可以定義多個同名的區域性變數。例如我們可以在乙個函式內部,在兩個迴圈中都定義同名的區域性變數i,而區域性變數i的作...
PHP中全域性變數和超全域性變數
自定義全域性變數的作用域為當前的指令碼檔案的任意位置 函式或者方法啊之類的 但是要想用它們必須先執行一下 global variable語句 variable為要使用的全域性變數 或者是使用 global 變數名字 來呼叫。超全域性變數作用於也是為當前的指令碼檔案的任意位置,在使用的時候無需先執行 ...
7 多執行緒 全域性變數 共享全域性變數
多執行緒 全域性變數 共享全域性變數 多執行緒可以對全域性變數進行修改,修改後的結果會影響下乙個執行緒 程序不可以共享全域性變數,子程序是複製父程序的全域性變數,修改後互不影響 from threading import thread import time,random g num 100 def...