日韩性视频-久久久蜜桃-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

總結

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

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

主站蜘蛛池模板: 亚洲4区| 激情成人综合 | 色亚洲视频 | 女人性高潮视频 | www亚洲视频| 99re国产在线 | 亚洲天堂一级片 | 操亚洲美女 | 精品人妻午夜一区二区三区四区 | 全黄一级播放 | 日韩经典三级 | ass大乳尤物肉体pics | 丰满少妇在线观看网站 | 国产成人三级在线播放 | 日韩色综合网 | 曰本黄色片 | av资源首页 | 91琪琪| 无码人妻一区二区三区av | 成人资源在线观看 | 黄色片视频免费观看 | 91免费看| 中文字幕av资源 | 小辣椒导航 | av伦理在线 | 日本wwwxxx| av免费观看网站 | 超碰在线公开免费 | 黄色美女片 | 亚洲91网站 | 久久免费av | n0659极腔濑亚美莉在线播放播放 | 日韩国产欧美一区 | 糖心logo在线观看 | 第四色男人天堂 | 在线观看色| 亚洲色图网址 | 日韩欧美精品在线 | 日批视频网站 | 亚洲图片 欧美 | 91嫩草影视 | 人妻一区二区三区四区五区 | 久久久久夜夜夜精品国产 | 国产哺乳奶水91在线播放 | 好色先生视频污 | 国产一级免费看 | 超碰在线98 | 韩国黄色网址 | 噼里啪啦免费高清看 | 亚洲乱码av | 免费一区视频 | 久久久久亚洲av成人网人人网站 | 国产免费又黄又爽又色毛 | 国产三级免费观看 | 一区二区三区在线免费视频 | av在线不卡免费看 | 在线观看国产免费视频 | 性av免费| 女人被灌满精子 | 国产69精品久久久久久 | 欧美日韩国产图片 | 日韩电影在线一区 | 中文字幕av久久爽一区 | 国产乱码精品一区二区三区不卡 | 精品国产黄色 | 成人综合一区二区 | 国产区91| 国产欲妇 | 天堂中文视频在线 | 久久911 | 欧美一区二区三区免费观看 | 俺啪也 | 国产91在线免费 | 朱竹清到爽高潮痉挛 | 中文字幕av日韩 | 欧美成人久久久 | 蜜臀视频一区二区 | 国产伦理av | 亚洲欧美一区二区精品久久久 | 91丨九色丨黑人外教 | 粉嫩av一区二区三区天美传媒 | 国产免费不卡av | 国产在成人精品线拍偷自揄拍 | 先锋影音av资源网站 | 国偷自拍第113页 | 乐播av一区二区三区 | 好看的黄色网址 | 九九视屏 | 欧美黑人粗大 | 国产人妻人伦精品1国产 | 国产成人无码aa精品一区 | 日韩不卡av | 蜜臀aⅴ国产精品久久久国产老师 | 婷婷午夜 | 人人爱人人| 特a级黄色片 | 男人亚洲天堂 | 国产成人三级在线 | 亚洲免费不卡视频 |