如何在不使用ScheduledThreadPoolExecutor
的情况下使用单个帖子创建Executors.newSingleThreadScheduledExecutor
?
我想这样做的原因是后面的调用返回DelegatedScheduledExecutorService
的实例,而不是ThreadPoolExecutor
的实例,所以我试图能够使用{{1}等方法等失败了。如果我可以直接创建getQueue()
,那将有所帮助。
我想要ThreadPoolExecutor
的原因是没有其他方法可以知道当前在执行程序中排队的任务的大小。
答案 0 :(得分:1)
你可以手动创建它(这是Executors.newScheduledThreadPool()
所做的内容,除了你需要一个强制转换以你想要的方式使用返回的对象):
ScheduledThreadPoolExecutor scheduler = new ScheduledThreadPoolExecutor(1);
BlockingQueue q = scheduler.getQueue();
答案 1 :(得分:1)