Mert Kirpici created LANG-1790:
----------------------------------

             Summary: Fairness setting in TimedSemaphore
                 Key: LANG-1790
                 URL: https://issues.apache.org/jira/browse/LANG-1790
             Project: Commons Lang
          Issue Type: Improvement
          Components: lang.concurrent.*
            Reporter: Mert Kirpici


The {{TimedSemaphore}} structure javadocs do not mention anything about 
fairness.

If this is something that the current implementatio does not provide, the 
{{TimedSemaphore}} structure could benefit from a _fairness_ setting like the 
{{java.util.concurrent.Semaphore}} does, which will queue up the threads that 
are blocked by the {{.acquire()}} call and when the timer expires, they will be 
permitted access to the shared resource in a FIFO fashion.

A possible implementation could be like this in the constructor:
{{TimedSemaphore(long timePeriod, TimeUnit timeUnit, int limit, boolean fair)}}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to