亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術(shù)文章
文章詳情頁

python 多線程共享全局變量的優(yōu)劣

瀏覽:31日期:2022-07-10 10:01:47

一、多線程共享全局變量

首先我們來回憶下在函數(shù)中修改全局變量的情況。

在一個函數(shù)中,對全局變量進行修改的時候,到底是否需要使用 global 進行說明,要看是否對全局變量的執(zhí)行指向進行了修改。

如果修改了執(zhí)行指向,即讓全局變量指向了一個新的地方,那么必須使用 global。

如果僅僅是修改了指向的空間中的數(shù)據(jù),此時不是必須要使用 global。

我們來看一個例子,在這個例子中,讓一個子線程對全局變量 +1 操作,另一個子線程只打印全局變量,看看數(shù)據(jù)是否共享。

from threading import Threadimport timeg_num = 100def work1(): global g_num g_num += 1 print('----in work1, g_num is %d---' % g_num)def work2(): print('----in work2, g_num is %d---' % g_num)def main(): print('---線程創(chuàng)建之前g_num is %d---' % g_num) t1 = Thread(target=work1) t1.start() # 延時一會,保證t1線程中的事情做完 time.sleep(1) t2 = Thread(target=work2) t2.start() time.sleep(1) print('---線程創(chuàng)建之后g_num is %d---' % g_num)if __name__ == '__main__': main()

如果子線程2打印出來的結(jié)果是100,說明全局變量不共享。

如果子線程2打印出來的數(shù)據(jù)是101,說明全局變量共享。

運行結(jié)果:

---線程創(chuàng)建之前g_num is 100-------in work1, g_num is 101-------in work2, g_num is 101------線程創(chuàng)建之后g_num is 101---

上面的例子說明,多線程是共享全局變量的。

二、列表當做實參傳遞到線程中

在上面,我們驗證了多線程之間是共享全局變量的。

我們也可以將變量當作實參傳遞到線程中,來驗證多線程中是共享數(shù)據(jù)的。

from threading import Threadimport timedef work1(nums): nums.append(44) print('----in work1---', nums)def work2(nums): print('----in work2---', nums)g_nums = [11, 22, 33]t1 = Thread(target=work1, args=(g_nums,))t1.start()# 延時一會,保證t1線程中的事情做完time.sleep(1)t2 = Thread(target=work2, args=(g_nums,))t2.start()

運行結(jié)果:

----in work1--- [11, 22, 33, 44]----in work2--- [11, 22, 33, 44]

那為什么多個線程之間要共享全局變量,有什么好處么?

因為多任務往往配合使用。

在一個進程內(nèi)的所有線程共享全局變量,就可以很方便在多個線程間共享數(shù)據(jù)。

缺點就是,線程是對全局變量隨意修改可能造成多線程之間對全局變量的混亂(即線程非安全)。

以上就是python 多線程共享全局變量的優(yōu)劣的詳細內(nèi)容,更多關(guān)于python 多線程共享全局變量的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 女人被狂躁的免费视频网站软件 | 欧美亚洲国产精品久久第一页 | 中文字幕欧美亚洲 | pr社萌汁福利视频在线观看 | 在线观看www成人影院 | 小明永久2015www永久免费观看 | 国内自产拍自a免费毛片 | 久久精品中文字幕第一页 | 看真人视频一级毛片 | 正在播放国产精品放孕妇 | 青草视频在线观看免费视频 | 日本老妇人乱视频 | 欧美黄三级在线观看 | 欧美变态口味重另类日韩毛片 | 一级毛片儿 | 在线观看自拍 | 99久久久国产精品免费播放器 | 久久国产精品久久久久久久久久 | 美国一级大黄一片免费的网站 | 精品亚洲视频在线观看 | 亚洲精品国产第七页在线 | 国产一级毛片欧美视频 | 免费区欧美一级毛片精品 | 黄色一级在线视频 | 亚洲国产综合久久精品 | 91三级视频 | japanesefree夫妇互换 | 青青操夜夜操 | 免费观看a级毛片在线播放 免费观看a级片 | 日本aaa级片| 国产亚洲视频网站 | 亚洲日韩男人网在线 | 亚洲精品午夜久久aaa级久久久 | 777奇米影视笫四色88me久久综合 | 特级aa毛片在线播放 | 成人亚洲综合 | 国产午夜免费视频片夜色 | 国产成人精品男人免费 | 国产精品αv在线观看 | 欧美俄罗斯一级毛片激情 | 黄色在线播放网址 |