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

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

系統 1898 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元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。。?/p>

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: a一级毛片视频免费看 | 亚洲一区播放 | 国产成人精品高清不卡在线 | freesex寂寞老妇hd | 日韩亚洲精品不卡在线 | 日韩欧美精品综合一区二区三区 | 青草伊伊 | 九九视频免费精品视频免费 | 亚洲国产成人久久一区久久 | 欧美激情久久久久久久大片 | 久久久免费观成人影院 | 国产欧美一区二区精品久久久 | 欧美激情一区二区三级高清视频 | 99热久久久这里只有精品免费 | 免费不卡毛片 | 欧美成人天天综合在线视色 | 欧美在线一级毛片观看 | 囗交免费毛片 | 日韩精品一区二区三区四区 | 99re这里只有精品在线观看 | 国产精选91热在线观看 | 日本黄色aa | 网红被免费网站视频在线 | 精品视频在线观看一区二区三区 | av亚洲男人天堂 | 五月天婷婷激情 | 尤物精品国产福利网站 | 四虎hu| 99精品视频免费在线观看 | 中文字幕在线日本 | 午夜色视频 | 亚洲一区二区三区四 | 多多多色麻豆 | 久久96国产精品久久久 | 麻豆成人久久精品二区三区小说 | 成人a区| 久久影院中文字幕 | 婷婷国产成人久久精品激情 | 狠狠操天天操夜夜操 | 国产大片在线观看 | 六月婷婷中文字幕 |