I want to create a blocking queue which blocks producer on the basis of customized rules instead of number of items in the queue.
For example:
Producer produces some files and puts into a queue. Consumer transfers them to a specific location after some analysis.
For above scenario, I want producer waiting to produce new files if the size of total files in the queue reaches some threshold value. Queue can accept any number of files if the total size don't cross threshold value.
I would probably subclass a BlockingQueue
such as the ArrayBlockingQueue
and add a simple CountDownLatch
which is initialized to the threshold value and enables the various take
/remove
methods when reaching 0.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With