Python線程專題2:多線程共享全局變量

上一篇文章: Python線程專題1:多線程使用的必要性
下一篇文章: Python線程專題3:thread對象

在一個進程內的全部線程共享全局變量。但多線程對全局變量的更改會致使變量值得混亂。segmentfault

實例:驗證同一個進程內全部線程共享全局變量

代碼:
#驗證同一個進程內的全部線程共享全局變量
from threading import  Thread
import time
g_num=1000
def work1():
    global g_num
    g_num+=3
    print("work1----num:",g_num)

def work2():
    global g_num
    print("work2---num:",g_num)

if __name__ == '__main__':
    print("start---num:",g_num)
    t1=Thread(target=work1)
    t1.start()

    #故意停頓一秒,以保證線程1執行完成
    time.sleep(1)

    t2=Thread(target=work2)
    t2.start()
結果:
start---num: 1000
work1----num: 1003
work2---num: 1003
相關文章
相關標籤/搜索