Semaphore

多執行緒下控制可使用資源的執行緒上限數

比喻作夜店的安管人員再洽當不過,安管人員可控制夜店入場人數,

例如今天只開放100人入場,超過此人數則不得再進場,除非有人離開才可以放行,

控制人數在上限 100。

在多執行緒的情形下,資源的掌握更顯得重要,如資料庫資源。


But, what's the difference between semaphore and singleton?

singleton 是用來作 lock,可以想成是一次只開放一個人進場的安管,這樣就很好理解了。

在查到的資料上顯示,若在上限為一個物件存取的情形下,

效能上 singleton 比 semaphore 好多了。

reference: Android Semaphore

留言

這個網誌中的熱門文章

[IIS] 自我簽署憑證來啟用SSL

相見恨晚的自動化測試開發工具 Sikuli

sqlplus 中文亂碼解決方案