一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - 對python多線程中互斥鎖Threading.Lock的簡單應用詳解

對python多線程中互斥鎖Threading.Lock的簡單應用詳解

2021-05-14 00:32AutomationTesting Python

今天小編就為大家分享一篇對python多線程中互斥鎖Threading.Lock的簡單應用詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

一、線程共享進程資源

每個線程互相獨立,相互之間沒有任何關系,但是在同一個進程中的資源,線程是共享的,如果不進行資源的合理分配,對數據造成破壞,使得線程運行的結果不可預期。這種現象稱為“線程不安全”。

實例如下:

python" id="highlighter_599236">
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#-*- 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()

結果展示:

對python多線程中互斥鎖Threading.Lock的簡單應用詳解

二、互斥鎖同步

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

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

?
1
2
3
4
5
6
#創建鎖
mutex = threading.lock()
#鎖定
mutex.acquire([timeout])#timeout是超時時間
#釋放
mutex.release()

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

三、使用線程鎖

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<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()#創建鎖
  for i in xrange(5):
    t = threading.thread(target=test_xc)
    t.start()

運行結果

對python多線程中互斥鎖Threading.Lock的簡單應用詳解

以上這篇對python多線程中互斥鎖threading.lock的簡單應用詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持服務器之家。

原文鏈接:https://blog.csdn.net/baidu_24617085/article/details/50462497

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 高中生放荡日记高h娜娜 | 精品一区二区国语对白 | 32d乳白色的奶罩未删除 | 男人午夜剧场 | 视频二区 素人 制服 国产 | 无人在线视频高清免费播放 | 色老板在线播放 | 精品夜夜澡人妻无码AV蜜桃 | 国内在线播放 | 久久日本片精品AAAAA国产 | 我的奶头被客人吸的又肿又红 | 国产精品久久国产三级国电话系列 | 日本不卡一区二区三区在线观看 | cos美女被黄网站 | a级亚洲片精品久久久久久久 | 咪咪爱网友自拍 | 咪咪爱网友自拍 | 亚洲欧美久久久久久久久久爽网站 | 人人澡人| aigao视频 | 久久精品黄AA片一区二区三区 | 国产一级免费片 | 国产区最新 | 香蕉视频在线观看网站 | 男人疯狂擦进女人下面 | 日韩精品福利视频一区二区三区 | 经典三级四虎在线观看 | 白丝尤物的下面被疯狂蹂躏 | 四虎免费永久观看 | 成人男女啪啪免费观看网站 | 沉沦艳妇杨幂肉体小说 | 无码人妻丰满熟妇啪啪网不卡 | 女人国产香蕉久久精品 | 日本在线亚州精品视频在线 | 欧美a级在线 | 范冰冰好紧好滑好湿 | 日本成熟bbxxxxxxxx| 草莓香蕉榴莲丝瓜秋葵绿巨人在线看 | 午夜影院小视频 | 亚洲琪琪 | 成人永久免费福利视频网站 |