【发布时间】:2016-08-21 06:45:45
【问题描述】:
我有一个包含两个@Scheduled 方法的类,如下所示。
public class JobExecutor {
private static final DelayQueue<Job> JOB_QUEUE = new DelayQueue<>();
@Scheduled
public void run() {
Job job = JOB_QUEUE.take();
}
@Scheduled
public void fillQueue {
JOB_QUEUE.add(.....);
}
}
我正在使用一个有 20 个线程的线程池。现在我正在使用DelayQueue,它是run 方法中的一个阻塞队列。是否有可能所有 20 个线程都卡在读取队列(当它为空时)并且 fillQueue 方法永远不会被执行?
【问题讨论】:
标签: java spring scheduled-tasks threadpoolexecutor spring-scheduled