日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

经典线程同步总结

發布時間:2025/3/20 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 经典线程同步总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

1.線程(進程)同步的主要任務

答:在引入多線程后,由于線程執行的異步性,會給系統造成混亂,特別是在急用臨界資源時,如多個線程急用同一臺打印機,會使打印結果交織在一起,難于區分。當多個線程急用共享變量,表格,鏈表時,可能會導致數據處理出錯,因此線程同步的主要任務是使并發執行的各線程之間能夠有效的共享資源和相互合作,從而使程序的執行具有可再現性。

2.線程(進程)之間的制約關系?

當線程并發執行時,由于資源共享和線程協作,使用線程之間會存在以下兩種制約關系。

1)間接相互制約。一個系統中的多個線程必然要共享某種系統資源,如共享CPU,共享I/O設備,所謂間接相互制約即源于這種資源共享,打印機就是最好的例子,線程A在使用打印機時,其它線程都要等待。

2)直接相互制約。這種制約主要是因為線程之間的合作,如有線程A將計算結果提供給線程B作進一步處理,那么線程B在線程A將數據送達之前都將處于阻塞狀態。

間接相互制約可以稱為互斥直接相互制約可以稱為同步,對于互斥可以這樣理解,線程A和線程B互斥訪問某個資源則它們之間就會產個順序問題——要么線程A等待線程B操作完畢,要么線程B等待線程操作完畢,這其實就是線程的同步了。因此同步包括互斥,互斥其實是一種特殊的同步。

3.臨界資源和臨界區

在一段時間內只允許一個線程訪問的資源就稱為臨界資源或獨占資源,計算機中大多數物理設備,進程中的共享變量等待都是臨界資源,它們要求被互斥的訪問。每個進程中訪問臨界資源的代碼稱為臨界區

看完概念性知識,下面用幾個表格來幫助大家更好的記憶和運用多線程同步互斥的四個實現方法——關鍵段、事件、互斥量、信號量。

?

關鍵段CS與互斥量Mutex

?

創建或初始化

銷毀

進入互斥區域

離開互斥區域

關鍵段CS

Initialize-

CriticalSection

Delete-

CriticalSection

Enter-

CriticalSection

Leave-

CriticalSection

互斥量Mutex

CreateMutex

CloseHandle

等待系列函數如WaitForSingleObject

ReleaseMutex

關鍵段與互斥量都有“線程所有權”概念,可以將“線程所有權”理解成旅館的房卡,在旅館前臺登記名字擁有房卡后是可以多次進出房間的,其它人則無法進入直到你交出房卡。每個線程必須先通過EnterCriticalSectionWaitForSingleObject來嘗試獲得“線程所有權”才能調用LeaveCriticalSectionReleaseMutex。否則會調用失敗,這就相當于偽造房卡去辦理退房手續——由于登記本上沒有你的名字所以會被拒絕。

互斥量能很好的處理“遺棄”情況,因此在多進程之間可以放心的使用。

關鍵段由于不能跨進程使用,所以關鍵段不需要處理“遺棄”問題。

事件,互斥量,信號量都是內核對象,可以跨進程使用。

?

事件Event

?

創建

銷毀

使事件觸發

使事件未觸發

事件Event

CreateEvent

CloseHandle

SetEvent

ResetEvent

注意事件的手動置位和自動置位要分清楚,不要混淆了。

?

信號量Semaphore

?

創建

銷毀

遞減計數

遞增計數

信號量

Semaphore

Create-

Semaphore

CloseHandle

等待系列函數如WaitForSingleObject

Release-

Semaphore

信號量在計數大于0時表示觸發狀態,調用WaitForSingleObject不會阻塞,等于0表示未觸發狀態,調用WaitForSingleObject會阻塞直到有其它線程遞增了計數。

?

注意:互斥量,事件,信號量都是內核對象,可以跨進程使用(通過OpenMutexOpenEventOpenSemaphore)。不過為什么只有互斥量能解決“遺棄”情況了請看秒殺多線程第十五篇 關鍵段,事件,互斥量,信號量的“遺棄”問題》。




轉載于:https://my.oschina.net/u/347414/blog/141614

總結

以上是生活随笔為你收集整理的经典线程同步总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日韩免费观看 | 日韩福利社 | 欧美一区二区影院 | 中文av网站| 一区二区三区国产在线观看 | 人妻与黑人一区二区三区 | 性色av一区二区三区四区 | 免费国产小视频 | 日本免费电影一区二区三区 | 91大神在线看 | 日韩一三区 | 午夜香蕉网| 成年人视频免费在线观看 | 国产精品白虎 | 亚洲天堂av电影 | 九九影视理伦片 | 热久久这里只有精品 | av少妇在线 | 国产一区二区久久 | 女生被草 | 亚洲特黄一级片 | 婷婷五月综合激情 | 日韩第一页 | 永久免费看片在线播放 | av每日更新 | 久久中文字幕一区二区 | 国产无码精品在线播放 | 久久久久久一 | 小色瓷导航 | 91成人免费视频 | 亚洲综合色吧 | 国产成人精品白浆久久69 | 国产伦理一区 | 国产污污视频在线观看 | 手机看片1024久久 | 草久免费视频 | 亚洲男女一区二区三区 | 高清一区二区视频 | 日本在线一| 亚洲天堂91 | 国产调教视频在线观看 | 日本韩国中文字幕 | 亚洲精选av| 国产av剧情一区二区三区 | 日韩一级黄色片 | 久久久久亚洲日日精品 | 污污小说在线观看 | 日本污网站 | 欧美大片一区二区三区 | 国产免费一区二区三区最新6 | 日韩视频免费观看高清完整版在线观看 | 500福利视频导航 | 99视频网址| 久久综合久久鬼 | 射精一区二区 | 亚洲熟妇丰满大屁股熟妇 | 伊人蕉久影院 | 日韩一级二级三级 | 久久中文字幕国产 | 黄色一级在线视频 | 99热亚洲精品 | 99热精品免费 | 欧美精品一二区 | 黑白配高清国语在线观看 | 成人一二三四区 | 狠狠干天天色 | 高清国产一区二区三区四区五区 | 婷婷狠狠 | 成人av亚洲 | 美梦视频大全在线观看高清 | 国产高潮在线观看 | 亚洲熟女综合色一区二区三区 | 色综网 | 欧美一二三区视频 | 日本女教师电影 | 国产美女精品视频 | 日本高清免费视频 | 亚洲天堂一区在线 | 影音先锋国产在线 | 国产不卡在线观看 | 一区二区视频在线免费观看 | 日韩和的一区二区 | 一本一道久久综合狠狠老精东影业 | 理论片久久 | 国产白丝精品91爽爽久久 | 爆操欧美美女 | 亚洲精品高清视频在线观看 | 日韩精品人妻一区二区三区免费 | 成人午夜视频一区二区播放 | 我的好妈妈在线观看 | 亚洲精品一区二区三区蜜桃久 | 国产成人精品免费视频 | 日韩免费精品 | 性欧美一区二区 | 日日摸夜夜添夜夜 | 亚洲男女视频在线观看 | 欧美xxxx吸乳 | 久久九九视频 | 人人射人人爽 |