首頁 >後端開發 >Python教學 >Python多執行緒共享全域變數的實作程式碼

Python多執行緒共享全域變數的實作程式碼

不言
不言原創
2018-09-11 16:18:312097瀏覽

這篇文章帶給大家的內容是關於Python多執行緒共享全域變數的實作程式碼,有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。

在一個行程內的所有執行緒共享全域變數。但多執行緒對全域變數的變更會導致變數值得混亂。

實例:驗證同一個進程內所有執行緒共享全域變數

程式碼:
#验证同一个进程内的所有线程共享全局变量
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

相關推薦:

python 類別變數 在多執行緒下的共享與釋放問題

探究Python多進程編程下執行緒之間變數的共享問題

以上是Python多執行緒共享全域變數的實作程式碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn