I'd like a DelayQueue
of scheduled Runnable
s, where each Runnable
s should only be run after a certain point in time, specified beforehand. Hence a thread can just keep removing runnables from this queue and process a schedule of events. Why is there no good default implementation of Delayed
, that is also Runnable
, for this?
The only subinterface of Delayed
that seems reasonable is RunnableScheduledFuture
, which has a whole bunch of random things that need to be implemented. There has to be an easier way to do this, right?
DelayQueue is more of an infrastructure class that's not used directly by application.
You are probably better off using a ScheduledExecutorService (which internally uses a variant of DelayQueue)