第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

二進制信號量和互斥量之間的區(qū)別

二進制信號量和互斥量之間的區(qū)別

阿晨1998 2019-08-14 16:09:14
二進制信號量和互斥量之間的區(qū)別二進制信號量和互斥量之間是否存在差異,或它們基本相同?
查看完整描述

3 回答

?
慕娘9325324

TA貢獻1783條經(jīng)驗 獲得超4個贊

它們不是一回事。它們用于不同的目的!
雖然兩種類型的信號量都具有完整/空狀態(tài)并使用相同的API,但它們的使用方式卻截然不同。

互斥信號量
互斥信號量用于保護共享資源(數(shù)據(jù)結(jié)構(gòu),文件等)。

Mutex信號量由接受它的任務“擁有”。如果任務B嘗試semGive當前由任務A持有的互斥鎖,則任務B的調(diào)用將返回錯誤并失敗。

互斥鎖始終使用以下順序:

  -  SemTake
  - 關(guān)鍵部分
  -  SemGive

這是一個簡單的例子:

  線程A線程B.
   以Mutex為例
     訪問數(shù)據(jù)
     ......拿Mutex <==將阻止
     ...
   提供互斥鎖訪問數(shù)據(jù)<==取消阻止
                                  ...
                                給Mutex

Binary Semaphore
Binary Semaphore解決了一個完全不同的問題:

  • 任務B等待發(fā)生某事(例如傳感器被絆倒)。

  • 傳感器跳閘和中斷服務程序運行。它需要通知行程的任務。

  • 任務B應該運行并對傳感器跳閘采取適當?shù)拇胧H缓蠡厝サ取?/p>

   Task A                      Task B
   ...                         Take BinSemaphore   <== wait for something
   Do Something Noteworthy
   Give BinSemaphore           do something    <== unblocks

請注意,對于二進制信號量,B可以使用信號量和A來提供它。
同樣,二進制信號量不保護資源不被訪問。給予和獲取信號量的行為從根本上是分離的。
對于相同的任務而言,通常對于給予和獲取相同的二進制信號量沒有多大意義。


查看完整回答
反對 回復 2019-08-14
?
慕姐8265434

TA貢獻1813條經(jīng)驗 獲得超2個贊

廁所的例子是一個令人愉快的比喻:

互斥:

是廁所的關(guān)鍵。一個人可以擁有鑰匙 - 占用廁所 - 當時。完成后,該人員將(釋放)密鑰提供給隊列中的下一個人。

正式說:“互斥鎖通常用于序列化對一部分重入代碼的訪問,這些代碼不能由多個線程同時執(zhí)行?;コ鈱ο笾辉试S一個線程進入受控部分,強制其他線程嘗試訪問該部分要等到第一個線程退出該部分?!?nbsp;參考:Symbian開發(fā)人員庫

(互斥體實際上是一個值為1的信號量。)

信號:

是免費相同的廁所鑰匙的數(shù)量。例如,我們說有四個帶有相同鎖和鑰匙的馬桶。信號量計數(shù) - 鍵數(shù) - 在開始時設置為4(所有四個廁所都是免費的),然后計數(shù)值隨著人們的進入而減少。如果所有廁所都已滿,即。沒有剩余的自由鍵,信號量計數(shù)為0.現(xiàn)在,當eq。一個人離開廁所,信號量增加到1(一個自由鍵),并給予隊列中的下一個人。

正式地說:“信號量將共享資源的同時用戶數(shù)量限制為最大數(shù)量。線程可以請求訪問資源(遞減信號量),并且可以發(fā)信號通知他們已經(jīng)完成了使用資源(遞增信號量)。 “ 參考:Symbian開發(fā)人員庫


查看完整回答
反對 回復 2019-08-14
?
RISEBY

TA貢獻1856條經(jīng)驗 獲得超5個贊

Mutex只能由獲取它的線程釋放,而您可以從任何其他線程(或進程)發(fā)出信號量信號,因此信號量更適合某些同步問題,如producer-consumer。

在Windows上,二進制信號量更像是事件對象而不是互斥體。


查看完整回答
反對 回復 2019-08-14
  • 3 回答
  • 0 關(guān)注
  • 1458 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號