Search code examples
javamultithreadingconcurrencyreentrantlock

Is a DelayQueue without fairness problematic?


In Java 7 the implementation of DelayQueue uses a ReentrantLock without a fairness policy. Is this a problem in the long run? Can a thread starve because of this?

Thanks


Solution

  • If you consider the ScheduledThreadPoolExecutor (or any other producer/consumer situation), the worker threads are independent and so should be the jobs in the DelayQueue. So, no: the order in which threads are allowed to take/poll does not make a difference.