色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

python 多線程共享全局變量的優劣

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

一、多線程共享全局變量

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

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

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

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

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

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('---線程創建之前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('---線程創建之后g_num is %d---' % g_num)if __name__ == '__main__': main()

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

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

運行結果:

---線程創建之前g_num is 100-------in work1, g_num is 101-------in work2, g_num is 101------線程創建之后g_num is 101---

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

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

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

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

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()

運行結果:

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

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

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

在一個進程內的所有線程共享全局變量,就可以很方便在多個線程間共享數據。

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

以上就是python 多線程共享全局變量的優劣的詳細內容,更多關于python 多線程共享全局變量的資料請關注好吧啦網其它相關文章!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 亚洲国产精品久久日 | 精品视自拍视频在线观看 | 欧美亚洲国产精品久久高清 | 99久久精品6在线播放 | 国产v片在线播放免费观 | 国产成人福利美女观看视频 | 在线视频 一区二区 | 国产va精品网站精品网站精品 | 99久久99久久精品免费看子 | 亚洲欧美日产综合在线看 | 性久久久久久 | 免费看欧美一级特黄a毛片 免费看片aⅴ免费大片 | 国产亚洲人成网站在线观看不卡 | 亚洲天堂精品在线观看 | 精品久久一区二区三区 | 亚洲影院手机版777点击进入影院 | 日韩欧美一级 | 真人一级毛片国产 | 中国a级淫片免费播放 | 天天看有黄有色大片 | 久久免费国产精品一区二区 | 一色屋色费精品视频在线看 | 一级二级三级毛片 | 亚洲高清成人欧美动作片 | 九九精彩视频在线观看视频 | 久久不色 | 女人被男人躁得好爽免费视频免费 | 毛片视频网站 | 亚洲精品综合一区二区三区在线 | 日韩成人中文字幕 | 最近中文字幕精彩视频 | 性8sex亚洲区入口 | 美女图片131亚洲午夜 | 欧美在线bdsm调教一区 | 成人免费观看国产高清 | 视频二区国产 | 久久99综合国产精品亚洲首页 | 国产一区二区免费在线 | 手机看片国产免费永久 | 国产激情视频网站 | 狠狠色丁香九九婷婷综合五月 |