2011-05-01 57 views
6

信號量類別概述在developer.android.com看起來不錯 - 對於那些已經熟悉概念和術語的人來說。信號量:我在哪裏學習許可,公平,躉船等基本概念

我熟悉一些首字母縮寫詞和其他行話(如FIFO,鎖等),但其他如permits,fairnessbarging對我來說是新的。

你能推薦一個好的在線資源來解釋這些概念嗎? (我可能知道什麼許可公平性是但barging在這一點上是未知的)。

編輯:在收到下面的兩個答案後,我意識到我需要刷新信號量(重新獲得()術語)。我發現下面的資源是有用的:由 理查德S.博士

  1. Semaphore_(programming)
  2. Introduction to Semaphores

回答

1

沒有在這些前來自己,但想到我會研究和總結我的發現,因爲它是更好地在網上回答比外部鏈接(雖然,沒錯,OP是推薦閱讀後):

許可證是允許受信號量保護的代碼的併發訪問次數。儘管信號量通常是簡單的Mutex,但有時候需要有多個線程觸發代碼。這類似於打電話給一個呼叫中心,其中有一個電話號碼連接到8個線路/運營商。

公平性是當信號量以請求者的嚴格順序提供給請求者時。保持呼叫中心的類比,這意味着等待隊列是一個嚴格的FIFO。

barging本質上是一個帶外請求,它將一個線程置於隊列的頂端以獲得信號量。比喻是首選客戶(或內部呼叫)進入呼叫中心隊列的頂部,而不是等待輪到他們。

如果既沒有公平指定也不闖入,那麼它的規範內授予訪問最近的請求,這取決於上下文切換的定時。 「電話類比是對公司總機/接待的呼叫,即使呼叫處於等待應答狀態,您也可能會感到非常幸運,並在一個呼叫結束和另一個呼叫處於等待狀態之間響鈴。

如果我有這個錯誤,請通過評論告訴我,我會解決/我的答案。