0
我需要一个根据优先级运行Task的ScheduledThreadPoolExecutor。如果2个或更多任务等待立即执行,则必须首先调用具有最高优先级的那个。ScheduledThreadPoolExecutor:如何优先考虑任务?
实际上有一个ThreadPoolExecutor的解决方案,但不是ScheduledThreadPoolExecutor,因为它没有提供BlockingQueue参数的构造函数。
参见:Java Executors: how can I set task priority?
你将如何实现不属于ThreadPoolExecutor的scheduleXXX(..)等方法? – Chriss
@Chriss:我的意思是,请使用预定的执行程序,但只需将它(提交任务)发布到具有优先级队列的线程池执行程序。通过这种方式,你可以做一切你可以用一个预定的执行者做的事情,并仍然有优先执行的效果 –
下行是(可能)性能/调度精度的一个小小的损失,但我很肯定它会太小事 –