互斥(mutex)和訊號量(semaphore)的區別

互斥與訊號量...

互斥(mutex)和訊號量(semaphore)的區別

互斥與訊號量

互斥鎖用於提供對可重入程式碼中不能由多個執行緒並行執行的部分的序列化訪問。互斥確保一次只有一個程式碼可以訪問受控部分。為了獲得訪問許可權,其他程式碼被設定為等待第一個程式碼退出。你可以把它當作房間的鑰匙。先用鑰匙的人先用。在這個人回來之前,其他人都不能進入那個房間。

訊號量同時向多個使用者提供對共享資源的訪問。當訪問資源的使用者數增加時,訊號量計數減少。一旦使用者開始釋放資源,訊號量計數又開始上升。它由需要同步的應用程式使用。併發使用者的數量是基於訊號量限制的。一個訊號燈可以被認為是一堆相似的鑰匙到一個房間的相似的鎖,但是這些鑰匙的數量是有限的。有這些鑰匙的人可以共用房間。

互斥和訊號量之間的區別:

1.互斥用於互斥,而訊號量在這兩個事件中都能找到它的效用

通知和相互排除。

2.互斥提供對公共資源的序列訪問,而訊號量限制

併發訪問數。

3.互斥一次只能處理一個執行緒,而訊號量管理多個執行緒

一起。

4.Mutex有一個所有者的概念,其中鎖定Mutex的程序只能

重新開啟它。其他程序都不能這樣做。但是在訊號量的情況下

限制不存在。

互斥是一種鎖定機制,而訊號量是一種具有

關於同步對資源的訪問。

總結:

1.在語義和理論上,互斥量和訊號量是相同的。一個可以

使用另一個實現,但實際上兩者是不同的。

互斥量不過是一個計數值等於1的訊號量。

互斥量是一種訊號量,具有所有權和優先順序反轉等附加特性

保護。

4.訊號量是一種抽象資料型別,它控制使用者對公共資源的訪問

並行程式設計環境中的多個程序。

訊號量在許多作業系統中被用作同步原語。

6.互斥量和訊號量都是用於

同步。

  • 發表於 2021-06-23 19:42
  • 閱讀 ( 38 )
  • 分類:科技

你可能感興趣的文章

離子移變的(ionotropic)和代謝性受體(metabotropic receptors)的區別

...性受體(metabotropic receptors) 離子型和代謝型受體是膜轉運和訊號轉導的兩類受體。離子型受體結合離子配體,如K+、Na+、Cl-、Ca2+。代謝型受體與非離子配體結合,如化學受體或G蛋白偶聯受體。結合後,這些受體啟動級聯反應,如...

  • 發佈於 2020-10-14 10:00
  • 閲讀 ( 97 )

正規化(paradigm)和組合(syntagm)的區別

...麼是範例(a paradigm)? 正規化是在特定的句法角色中產生互斥選擇的一組語言專案。範例關係包括可以互相替代的符號。這種替換通常會改變意思。在聚合關係中,一個詞項通常可以被同一類別的另一個詞項代替。例如,名詞用...

  • 發佈於 2020-10-24 22:28
  • 閲讀 ( 63 )

psa:預設情況下,電報聊天不是端到端加密的

電報和訊號是廣泛流行的隱私資訊應用。然而,這兩個應用程式有一些很大的區別:雖然所有透過訊號傳送的訊息在預設情況下都是端到端加密的,但電報訊息不是。端到端加密是電報中的一個可選功能。 為什麼端到端加密...

  • 發佈於 2021-03-31 17:49
  • 閲讀 ( 47 )

如何在linux上安裝signal桌面

...和註冊到您的訊號帳戶。 設計隱私 訊號由訊號基金會和訊號信使有限公司釋出。這兩個非盈利組織總部設在加利福尼亞山景,由馬修·羅森菲爾德(又名“莫西·馬林斯皮克”)和布萊恩·阿克頓創立。他們一起繼續工作,開...

  • 發佈於 2021-03-31 18:09
  • 閲讀 ( 48 )

沃達豐首次推出助推器布羅利原型傘內建太陽能電池和訊號助推器

今天沃達豐推出了Booster Brolly,這是一款原型雨傘,使用整合太陽能電池和微型天線為智慧**充電,增強3G訊號。這款概念傘是與倫敦大學學院合作開發的,它利用12塊矽太陽能電池縫合在傘蓋上,提供足夠的能量為內建的訊號助...

  • 發佈於 2021-04-22 18:41
  • 閲讀 ( 37 )

divx公司(divx)和阿維(avi)的區別

...,而AVI負責如何儲存資料以及其他相關資訊4.DivX和AVI不是互斥的,也不是互斥的。DivX影片可能在另一個容器中,AVI檔案可能有一個未在DivX中編碼的影片 

  • 發佈於 2021-06-22 12:38
  • 閲讀 ( 41 )

互斥(mutex)和訊號量(semaphore)的區別

互斥與訊號量 互斥鎖類似於房間的一把鑰匙。一個人拿著鑰匙,就像一根線,是唯一能進入房間的人。有許可權的人必須把鑰匙交給下一個排隊的人。因此,只有獲取互斥鎖的執行緒才能釋放互斥鎖。 互斥鎖通常用於序列化...

  • 發佈於 2021-06-23 04:03
  • 閲讀 ( 41 )

互斥(mutex)和事件(event)的區別

互斥與事件 在C#中,有許多不同的執行緒同步選項。兩個更廣泛使用的是互斥和事件。這兩者到底有什麼區別?哪一個是更好的選擇? event選項可以給執行緒一個選項,讓它阻塞直到一個事件被廣播為止,因此被稱為“event”...

  • 發佈於 2021-06-23 17:48
  • 閲讀 ( 41 )

春夏8(ss8)和訊號系統(signaling system)的區別

SS8 vs訊號系統 SS7或信令系統7是PSTN網路中用於呼叫設定、呼叫控制、中斷和傳遞網路狀態的標準協議。它用於監視每個呼叫並從呼叫的開始到結束準備報告。該報告稱為Call Detail Record。呼叫建立、管理和斷開連線所需的資訊儲...

  • 發佈於 2021-06-23 20:05
  • 閲讀 ( 28 )

處置(dispose)和定稿(finalize)的區別

...可加快非託管資源(如資料庫控制代碼、檔案控制代碼、訊號量和作業系統分配的其他物件)的釋放。dispose方法被呼叫來執行清除未使用的記憶體和稀缺資源(如GDI控制代碼)所需的程式碼。簡單地說,dispose方法提供了顯式記...

  • 發佈於 2021-06-25 14:55
  • 閲讀 ( 40 )