2013-02-26 57 views
2

我正在考慮使用Java類Semaphore類實現與leaky bucket algorithm類似的東西,並且想知道它是否合適。目標是限制寫入共享資源的速度,並且我會讓一個線程週期性地向信號量釋放許多許可,並且一組工作線程池試圖獲得與他們想要的項目大小相同的許可來寫。使用Java Semaphore類的漏斗狀速率限制

我關心的是Semaphore是否正在使用幕後單個int實現,或者如果它的空間的使用是線性的活性的許可數(使用某種許可隊列或這樣的實現。)如果空間(因此時間)是線性的,那麼我顯然想避免談論以字節爲單位的費率。如果它只是一個int,我應該比溢流非常高的速率其他沒有這樣的顧慮(在這種情況下,我想一個long -backed Semaphore

人有什麼想法?

+0

結帳https://github.com/bbeck/token-bucket – kervin 2015-08-09 16:55:30

回答