问题
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?
回答1:
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)
来源:https://stackoverflow.com/questions/15102414/why-is-there-no-default-java-implementation-of-delayed-for-delayqueue