Description
Current AutomaticWorkQueueImpl just use the Thread.sleep to take the tasks that is delayed, it will eat up the thread pool if there are lots of delay tasks are scheduled at the same time. A DelayQueue could help us void this kind of issue.