中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

Python死鎖指的是什么

發布時間:2021-05-06 14:24:51 來源:億速云 閱讀:130 作者:小新 欄目:編程語言

小編給大家分享一下Python死鎖指的是什么,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

python主要應用領域有哪些

1、云計算,典型應用OpenStack。2、WEB前端開發,眾多大型網站均為Python開發。3.人工智能應用,基于大數據分析和深度學習而發展出來的人工智能本質上已經無法離開python。4、系統運維工程項目,自動化運維的標配就是python+Django/flask。5、金融理財分析,量化交易,金融分析。6、大數據分析。

1、說明

在線共享多個資源時,如果兩個線程分別占用一部分資源,同時等待對方的資源,就會導致死鎖。

雖然死鎖很少發生,但是一旦發生,應用程序就會停止響應。

2、解決方法

程序設計應盡可能避免死鎖(銀行家算法)

增加超時時間等。

3、實例

"""
Python 死鎖演示
"""
import time
import threading
 
 
mutexA = threading.Lock()
mutexB = threading.Lock()
 
 
class MyThread1(threading.Thread):
 
    def run(self):
 
        # 對mutexA上鎖
        mutexA.acquire()
 
        # mutexA上鎖后,延時1秒,等待另外那個線程 把mutexB上鎖
        print(self.name+'----do1---up----')
        time.sleep(1)
 
        # 此時會堵塞,因為這個mutexB已經被另外的線程搶先上鎖了
        mutexB.acquire()
        print(self.name+'----do1---down----')
        mutexB.release()
 
        # 對mutexA解鎖
        mutexA.release()
 
 
class MyThread2(threading.Thread):
 
    def run(self):
        # 對mutexB上鎖
        mutexB.acquire()
 
        # mutexB上鎖后,延時1秒,等待另外那個線程 把mutexA上鎖
        print(self.name+'----do2---up----')
        time.sleep(1)
 
        # 此時會堵塞,因為這個mutexA已經被另外的線程搶先上鎖了
        mutexA.acquire()
        print(self.name+'----do2---down----')
        mutexA.release()
 
        # 對mutexB解鎖
        mutexB.release()
 
 
def main():
    t1 = MyThread1()
    t2 = MyThread2()
 
    t1.start()
    t2.start()
 
 
if __name__ == '__main__':
main()

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

向AI問一下細節

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

AI

潮安县| 东乡族自治县| 济南市| 应城市| 龙山县| 惠水县| 娄底市| 兴山县| 砀山县| 涿鹿县| 武威市| 京山县| 包头市| 华蓥市| 同江市| 洪江市| 彩票| 沙洋县| 苍溪县| 黄骅市| 大安市| 嘉峪关市| 炉霍县| 阿勒泰市| 太仆寺旗| 竹溪县| 西吉县| 新竹市| 通海县| 台江县| 蓝山县| 射阳县| 沁水县| 嘉义市| 武穴市| 广昌县| 南城县| 托克逊县| 永州市| 大石桥市| 温州市|