亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

python多線程共享變量的使用和效率方法

系統 2088 0

python多線程可以使任務得到并發執行,但是有時候在執行多次任務的時候,變量出現“意外”。

            
import threading,time
n=0
start=time.time()
def b1(num):
 global n
 n=n+num
 n=n-num
def b2(num):
 for i in range(1000000):
 b1(num)
t1=threading.Thread(target=b2,args=(5,))
t2=threading.Thread(target=b2,args=(8,))
t1.start()
t2.start()
t1.join()
t2.join()
end=time.time()
print(n)
print(end-start)
          

執行結果:

            
18
0.7520430088043213
          

可見變量n從0變成了18,用時是0.75s,原因是計算機系統計算類似n=n+num是分兩步計算的,先計算n+num的值放進內存中,然后再把計算的值賦值給n,正是這個間隙導致了變量出現“意外”。

這時候可以使用threading.Lock來把線程中的變量鎖定,使用完再釋放!

            
import threading,time
n=0
lock=threading.Lock()
start=time.time()
def b1(num):
 global n
 n=n+num
 n=n-num
def b2(num):
 for i in range(1000000):
  lock.acquire()#等待獲取或獲取修改變量的權限,并霸占它們
  b1(num)
  lock.release()#釋放霸占的變量
t1=threading.Thread(target=b2,args=(5,))
t2=threading.Thread(target=b2,args=(8,))
t1.start()
t2.start()
t1.join()
t2.join()
end=time.time()
print(n)
print(end-start)
          

執行結果:

            
0
3.335190773010254
          

雖然變量的值正確了,但慢了很多倍,效率大大的打折扣,多線程的優勢也沒凸顯出來。

所以盡量使用局部變量來代替全局變量在線程中使用,這樣可以避免效率的問題。

以上這篇python多線程共享變量的使用和效率方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国产精品成人扳一级aa毛片 | 伊人国产在线 | 伊人天天躁夜夜躁狠狠 | 日韩精品欧美国产精品亚 | 国自产拍在线视频天天更新 | 久久99免费视频 | 国产日韩欧美精品 | 东京99热 | 国产成人一区二区视频在线观看 | 国产大片91精品免费看3 | 九九视频高清视频免费观看 | 久久久影院 | 99久久精品国产一区二区 | 激情综合婷婷亚洲图片 | 欧美影视一区 | 色婷婷综合欧美成人 | 欧美久草视频 | 日本玖玖 | 亚洲欧洲日韩国产一区二区三区 | 天天天天干 | 国产精品欧美亚洲韩国日本 | 欧美伦乱 | 久久综合九色综合77 | 最新精品亚洲成a人在线观看 | 伊人色综合久久天天网 | 久久久国产乱子伦精品 | 日日天天 | 国产精品久久久久国产精品 | 一区二区不卡久久精品 | 日韩视频 中文字幕 | 欧亚在线视频 | 四虎影视色费永久在线观看 | 国产福利91精品一区二区三区 | 亚洲成人播放 | 国产乱仑| 婷婷夜夜躁天天躁人人躁 | 99精品视频观看 | 国产精品一区二区手机看片 | 天天做天天玩天天爽天天 | 伊人久久精品成人网 | 久久久国产这里有的是精品 |