中文字幕av高清_国产视频一二区_男女羞羞羞视频午夜视频_成人精品一区_欧美色视_在线视频这里只有精品

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > python線程同步(鎖)

python線程同步(鎖)

來源:千鋒教育
發布人:xqq
時間: 2023-11-07 18:00:23 1699351223

多線程的優勢在于可以同時運行多個任務(至少感覺起來是這樣)。但是當線程需要共享數據時,可能存在數據不同步的問題。考慮這樣一種情況:一個列表里所有元素都是0,線程"set"從后向前把所有元素改成1,而線程"print"負責從前往后讀取列表并打印。那么,可能線程"set"開始改的時候,線程"print"便來打印列表了,輸出就成了一半0一半1,這就是數據的不同步。為了避免這種情況,引入了鎖的概念。

鎖有兩種狀態——鎖定和未鎖定。每當一個線程比如"set"要訪問共享數據時,必須先獲得鎖定;如果已經有別的線程比如"print"獲得鎖定了,那么就讓線程"set"暫停,也就是同步阻塞;等到線程"print"訪問完畢,釋放鎖以后,再讓線程"set"繼續。經過這樣的處理,打印列表時要么全部輸出0,要么全部輸出1,不會再出現一半0一半1的尷尬場面。

1.線程通信(條件變量)

然而還有另外一種尷尬的情況:列表并不是一開始就有的;而是通過線程"create"創建的。如果"set"或者"print"在"create"還沒有運行的時候就訪問列表,將會出現一個異常。使用鎖可以解決這個問題,但是"set"和"print"將需要一個無限循環——他們不知道"create"什么時候會運行,讓"create"在運行后通知"set"和"print"顯然是一個更好的解決方案。于是,引入了條件變量。

條件變量允許線程比如"set"和"print"在條件不滿足的時候(列表為None時)等待,等到條件滿足的時候(列表已經創建)發出一個通知,告訴"set"和"print"條件已經有了,你們該起床干活了;然后"set"和"print"才繼續運行。

2.線程運行和阻塞的狀態轉換

最后看看線程運行和阻塞狀態的轉換。

阻塞有三種情況:

同步阻塞是指處于競爭鎖定的狀態,線程請求鎖定時將進入這個狀態,一旦成功獲得鎖定又恢復到運行狀態;

等待阻塞是指等待其他線程通知的狀態,線程獲得條件鎖定后,調用“等待”將進入這個狀態,一旦其他線程發出通知,線程將進入同步阻塞狀態,再次競爭條件鎖定;

而其他阻塞是指調用time.sleep()、anotherthread.join()或等待IO時的阻塞,這個狀態下線程不會釋放已獲得的鎖定。

以上內容為大家介紹了python線程同步(鎖),希望對大家有所幫助,如果想要了解更多Python相關知識,請關注IT培訓機構:千鋒教育。

tags: python培訓
聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT
主站蜘蛛池模板: 国产一级毛片国语一级 | 91福利网站在线观看 | 高清视频一区二区三区 | 国产综合亚洲精品一区二 | 欧美视频在线一区 | 91在线视频免费播放 | 在线久草 | 日韩不卡 | 蜜臀在线视频 | 免费av网页 | 亚洲一级毛片 | 国产日韩一区二区三区 | 国产精品99久久久久久大便 | 午夜视频在线免费观看 | 日韩一区二区观看 | 亚洲一二三四五六区 | 国产欧美一区二区精品性色 | 国产aⅴ爽av久久久久 | 一区二区成人 | 欧美精品网站 | 精品无人乱码区1区2区3区 | 性色av一区二区三区免费看开蚌 | 欧洲精品久久久 | 国产精品一任线免费观看 | 福利片在线观看 | 国产成人精品一区二区在线 | 国产日韩精品一区二区 | 久久久一二三 | 欧美三级电影在线播放 | 一级毛片观看 | 成人一区二区在线 | 手机看片1 | 中文字幕日韩欧美 | 亚洲综合国产 | 成人久久久久久 | 久久久久久一区 | 日韩激情视频在线观看 | 久久精品视频一区二区 | 亚洲精品a区 | 91精品久久久久久久久入口 | 国产亚洲aaa |