亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python多線程線程鎖的使用方法

發布時間:2021-04-28 14:11:53 來源:億速云 閱讀:357 作者:小新 欄目:編程語言

小編給大家分享一下python多線程線程鎖的使用方法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

python的數據類型有哪些?

python的數據類型:1. 數字類型,包括int(整型)、long(長整型)和float(浮點型)。2.字符串,分別是str類型和unicode類型。3.布爾型,Python布爾類型也是用于邏輯運算,有兩個值:True(真)和False(假)。4.列表,列表是Python中使用最頻繁的數據類型,集合中可以放任何數據類型。5. 元組,元組用”()”標識,內部元素用逗號隔開。6. 字典,字典是一種鍵值對的集合。7. 集合,集合是一個無序的、不重復的數據組合。

在使用多線程處理程序的過程中,如何多個線程同時操作一個對象,很容易造成線程不安全的問題,嚴重影響程序結果。因此會使用線程鎖,線程鎖就向我們正常生活中的鎖一樣,可以保護我們想要保護對象的安全,而且還可以同時使用多個鎖鎖住一個資源。

1、什么是線程鎖?

同一時刻只允許一個線程操作該數據,可以保證數據安全。

線程鎖用于鎖定資源,可以同時使用多個鎖,當需要獨占某一資源時,任何一個鎖都可以鎖這個資源。

2、線程鎖目的

將一段代碼鎖住,一旦獲得鎖權限,除非釋放線程鎖,否則其他代碼都無法獲得鎖權限。

3、為什么要使用線程鎖?

多線程同時完成特定的操作時,由于并不是原子操作,所以在完成操作的過程中會被打斷去做其他的工作,可能會產生臟數據

4、創建鎖:

lock=threading.Lock()   
cond=threading.Condition(lock=lock)

5、鎖的方法:

cond.acquire():  獲得鎖
cond.wait()           等待通知
cond.notify()        通知正在等待的鎖
cond.notify_all()   通知所有正在等待的鎖
cond.release()       釋放鎖

5、使用線程鎖

"""
多線程數據訪問問題
"""
import threading

num = 0

def test():
    """測試函數"""
    global num
    for i in range(1, 1000001):
        # 上鎖:鎖定
        lock.acquire()
        num += 1
        # 開鎖
        lock.release()

    print(f"{threading.current_thread().getName()}當前線程執行完成,num: {num}")


# 創建一個互斥鎖{多個線程之間互斥}對象
lock = threading.Lock()

if __name__ == "__main__":
    # 創建兩個線程,完成計數任務
    t1 = threading.Thread(target=test)
    t2 = threading.Thread(target=test)
    t1.start()
    t2.start()
    '''
    0---10
    t1: 1 2 3                11 12         16                 : 16
    t2:        4 5 6 7 8 9 10      13 14 15   17 18 19 20     : 20
    '''

以上是“python多線程線程鎖的使用方法”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

会同县| 卢氏县| 淄博市| 长武县| 如东县| 游戏| 太白县| 浦北县| 德兴市| 壶关县| 雅江县| 巩义市| 阿勒泰市| 贵定县| 佳木斯市| 阆中市| 宁晋县| 宜宾县| 彝良县| 兴安盟| 延寿县| 休宁县| 黄石市| 大悟县| 惠州市| 郑州市| 吉首市| 滁州市| 双辽市| 平山县| 六枝特区| 洞口县| 青田县| 赞皇县| 拉孜县| 宜春市| 化隆| 宁武县| 安乡县| 大兴区| 威海市|