<option id="mwy0y"><strong id="mwy0y"></strong></option>
  • <ul id="mwy0y"><sup id="mwy0y"></sup></ul>
  • <ul id="mwy0y"></ul>
  • <del id="mwy0y"><dfn id="mwy0y"></dfn></del><ul id="mwy0y"><sup id="mwy0y"></sup></ul>
  • <abbr id="mwy0y"></abbr>

    千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

    400-811-9990
    手機(jī)站
    千鋒教育

    千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

    千鋒教育

    掃一掃進(jìn)入千鋒手機(jī)站

    領(lǐng)取全套視頻
    千鋒教育

    關(guān)注千鋒學(xué)習(xí)站小程序
    隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

    上海
    • 北京
    • 鄭州
    • 武漢
    • 成都
    • 西安
    • 沈陽(yáng)
    • 廣州
    • 南京
    • 深圳
    • 大連
    • 青島
    • 杭州
    • 重慶
    當(dāng)前位置:長(zhǎng)沙千鋒IT培訓(xùn)  >  技術(shù)干貨  >  python死鎖的產(chǎn)生原因

    python死鎖的產(chǎn)生原因

    來(lái)源:千鋒教育
    發(fā)布人:xqq
    時(shí)間: 2023-11-07 21:15:45

    python死鎖的產(chǎn)生原因

    1、程序永遠(yuǎn)無(wú)法運(yùn)行結(jié)束,根本原因在于:

    一個(gè)線程持有鎖1同時(shí)在請(qǐng)求鎖2,另一個(gè)線程持有鎖2同時(shí)在請(qǐng)求鎖1,二者不得到對(duì)方的鎖都不會(huì)放開(kāi)自己的鎖,程序就這樣僵持下去了。

    2、實(shí)例

    兩個(gè)線程會(huì)同時(shí)開(kāi)啟,程序打印出

    print1firstThread-1

    print1secondThread-1

    print2firstThread-1

    print1firstThread-2

    (1)第一個(gè)線程先執(zhí)行print1,獲得了鎖1,等待1秒。這時(shí)第二個(gè)線程已經(jīng)開(kāi)啟,企圖獲得鎖1,但是獲取不到于是等待

    (2)第一個(gè)線程等待時(shí)間結(jié)束,獲得鎖2,打印結(jié)束釋放兩把鎖。之后馬上開(kāi)始執(zhí)行print2,并獲得鎖2,等待1秒

    (3)這時(shí)第二個(gè)線程可以獲得鎖1了,開(kāi)始執(zhí)行print1,也等待1秒

    (4)等待時(shí)間結(jié)束,第一個(gè)線程持有鎖2企圖獲得鎖1,第一個(gè)線程持有鎖1企圖獲得鎖2,就陷入了僵局

    以上就是Python死鎖的產(chǎn)生原因,希望對(duì)大家有所幫助。更多Python學(xué)習(xí)推薦:請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。

    聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。

    猜你喜歡LIKE

    python實(shí)現(xiàn)WSGI的框架

    2023-11-13

    python打開(kāi)文本文件有哪些方法?

    2023-11-13

    python使用loguru操作日志

    2023-11-13

    最新文章NEW

    python-=是什么意思

    2023-11-13

    pythonre是什么?

    2023-11-13

    python列表追加元素出錯(cuò)的解決

    2023-11-13

    相關(guān)推薦HOT

    更多>>

    快速通道 更多>>

    最新開(kāi)班信息 更多>>

    網(wǎng)友熱搜 更多>>