最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

對(duì)python多線程中互斥鎖Threading.Lock的簡(jiǎn)單應(yīng)用詳解

 更新時(shí)間:2019年01月11日 11:20:23   作者:AutomationTesting  
今天小編就為大家分享一篇對(duì)python多線程中互斥鎖Threading.Lock的簡(jiǎn)單應(yīng)用詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

一、線程共享進(jìn)程資源

每個(gè)線程互相獨(dú)立,相互之間沒(méi)有任何關(guān)系,但是在同一個(gè)進(jìn)程中的資源,線程是共享的,如果不進(jìn)行資源的合理分配,對(duì)數(shù)據(jù)造成破壞,使得線程運(yùn)行的結(jié)果不可預(yù)期。這種現(xiàn)象稱為“線程不安全”。

實(shí)例如下:

#-*- coding: utf-8 -*-
import threading
import time
 
def test_xc():
  f = open("test.txt","a")
  f.write("test_dxc"+'\n')
  time.sleep(1)
  f.close()
 
if __name__ == '__main__':
  for i in xrange(5):
    t = threading.Thread(target=test_xc)
    t.start()

結(jié)果展示:

python多線程中互斥鎖Threading.Lock

二、互斥鎖同步

線程同步能夠保證多個(gè)線程安全訪問(wèn)競(jìng)爭(zhēng)資源,最簡(jiǎn)單的同步機(jī)制是引入互斥鎖?;コ怄i為資源引入一個(gè)狀態(tài):鎖定/非鎖定。某個(gè)線程要更改共享數(shù)據(jù)時(shí),先將其鎖定,此時(shí)資源的狀態(tài)為“鎖定”,其他線程不能更改;直到該線程釋放資源,將資源的狀態(tài)變成“非鎖定”,其他的線程才能再次鎖定該資源?;コ怄i保證了每次只有一個(gè)線程進(jìn)行寫入操作,從而保證了多線程情況下數(shù)據(jù)的正確性。

threading模塊中定義了Lock類,可以方便的處理鎖定:

#創(chuàng)建鎖
mutex = threading.Lock()
#鎖定
mutex.acquire([timeout])#timeout是超時(shí)時(shí)間
#釋放
mutex.release()

其中,鎖定方法acquire可以有一個(gè)超時(shí)時(shí)間的可選參數(shù)timeout。如果設(shè)定了timeout,則在超時(shí)后通過(guò)返回值可以判斷是否得到了鎖,從而可以進(jìn)行一些其他的處理。

三、使用線程鎖

<pre name="code" class="python">#-*- coding: utf-8 -*-
import threading
import time
 
def test_xc():
  f = open("test.txt","a")
  f.write("test_dxc"+'\n')
  time.sleep(1)
  mutex.acquire()#取得鎖
  f.close()
  mutex.release()#釋放鎖
 
if __name__ == '__main__':
  mutex = threading.Lock()#創(chuàng)建鎖
  for i in xrange(5):
    t = threading.Thread(target=test_xc)
    t.start()

運(yùn)行結(jié)果

python多線程中互斥鎖Threading.Lock

以上這篇對(duì)python多線程中互斥鎖Threading.Lock的簡(jiǎn)單應(yīng)用詳解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python中(負(fù)數(shù))整除和取模運(yùn)算方式

    python中(負(fù)數(shù))整除和取模運(yùn)算方式

    Python中的取模運(yùn)算符是%,它與其他語(yǔ)言中的取余符號(hào)相同,整除運(yùn)算符是//,表示向下取整,在Python中,正數(shù)的取余和取模結(jié)果相同,但負(fù)數(shù)的取余和取模結(jié)果有所不同,取余運(yùn)算在計(jì)算時(shí)向0方向舍棄小數(shù)位,而取模運(yùn)算向負(fù)無(wú)窮方向舍棄小數(shù)位
    2024-10-10
  • Python實(shí)現(xiàn)測(cè)試磁盤性能的方法

    Python實(shí)現(xiàn)測(cè)試磁盤性能的方法

    這篇文章主要介紹了Python實(shí)現(xiàn)測(cè)試磁盤性能的方法,涉及Python對(duì)硬件的相關(guān)操作技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-03-03
  • TensorFlow 2.0之后動(dòng)態(tài)分配顯存方式

    TensorFlow 2.0之后動(dòng)態(tài)分配顯存方式

    這篇文章主要介紹了TensorFlow 2.0之后動(dòng)態(tài)分配顯存方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • Python爬蟲(chóng)中Selenium實(shí)現(xiàn)文件上傳

    Python爬蟲(chóng)中Selenium實(shí)現(xiàn)文件上傳

    這篇文章主要介紹了Python爬蟲(chóng)中Selenium實(shí)現(xiàn)文件上傳,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • Python深度學(xué)習(xí)pyTorch權(quán)重衰減與L2范數(shù)正則化解析

    Python深度學(xué)習(xí)pyTorch權(quán)重衰減與L2范數(shù)正則化解析

    這篇文章主要介紹了Python深度學(xué)習(xí)中的pyTorch權(quán)重衰減與L2范數(shù)正則化的詳細(xì)解析,文中附含詳細(xì)示例代碼,有需要的朋友可以借鑒參考下
    2021-09-09
  • 使用Flask-Login模塊實(shí)現(xiàn)用戶身份驗(yàn)證和安全性

    使用Flask-Login模塊實(shí)現(xiàn)用戶身份驗(yàn)證和安全性

    當(dāng)你想要在你的Flask應(yīng)用中實(shí)現(xiàn)用戶身份驗(yàn)證和安全性時(shí),F(xiàn)lask-Login這個(gè)擴(kuò)展將會(huì)是你的最佳伙伴,它提供了一組簡(jiǎn)單而強(qiáng)大的工具來(lái)處理,下面我們就來(lái)看看具體的操作方法吧
    2023-08-08
  • 一篇文章教你用Python實(shí)現(xiàn)一鍵文件重命名

    一篇文章教你用Python實(shí)現(xiàn)一鍵文件重命名

    這篇文章主要介紹了如何用python一鍵文件重命名,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • Python從臨時(shí)郵箱獲取驗(yàn)證碼的操作代碼

    Python從臨時(shí)郵箱獲取驗(yàn)證碼的操作代碼

    這篇文章主要介紹了Python從臨時(shí)郵箱獲取驗(yàn)證碼的操作代碼,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-08-08
  • Python?pyecharts案例超市4年數(shù)據(jù)可視化分析

    Python?pyecharts案例超市4年數(shù)據(jù)可視化分析

    這篇文章主要介紹了Python?pyecharts案例超市4年數(shù)據(jù)可視化分析,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-08-08
  • 使用Python生成XML的方法實(shí)例

    使用Python生成XML的方法實(shí)例

    這篇文章主要介紹了使用Python生成XML的方法,結(jié)合具體實(shí)例形式詳細(xì)分析了Python生成xml文件的具體流暢與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2017-03-03

最新評(píng)論

雅江县| 织金县| 嘉禾县| 鸡西市| 通山县| 临潭县| 无为县| 泰和县| 革吉县| 太仆寺旗| 贞丰县| 呼伦贝尔市| 同心县| 无为县| 惠水县| 旅游| 乐安县| 巫溪县| 华阴市| 新河县| 新兴县| 吉水县| 德化县| 马鞍山市| 日土县| 怀集县| 上饶市| 象山县| 浙江省| 通海县| 民乐县| 吕梁市| 新和县| 突泉县| 昌宁县| 青浦区| 浮山县| 米易县| 泽库县| 永新县| 皋兰县|