Semaphore
多執行緒下控制可使用資源的執行緒上限數
比喻作夜店的安管人員再洽當不過,安管人員可控制夜店入場人數,
例如今天只開放100人入場,超過此人數則不得再進場,除非有人離開才可以放行,
控制人數在上限 100。
在多執行緒的情形下,資源的掌握更顯得重要,如資料庫資源。
But, what's the difference between semaphore and singleton?
singleton 是用來作 lock,可以想成是一次只開放一個人進場的安管,這樣就很好理解了。
在查到的資料上顯示,若在上限為一個物件存取的情形下,
效能上 singleton 比 semaphore 好多了。
reference: Android Semaphore
留言
張貼留言