Мы используем планировщик задач в нашем расширении smartfox, и у нас есть 6 различных задач расписания. С каждым запросом на расширение количество активных потоков smartfox увеличивается на размер пула потоков, который мы устанавливаем для каждой службы scheduleexecutor. Похоже, нам нужно получить 1 централизованный планировщик и ссылаться на него из других классов. Мы просто не знаем, как сохранить ссылку на него и создать новую задачу, не заполняя активный пул новыми потоками. Пожалуйста, дайте мне знать, как централизовать планировщик и сохранить ссылку на него.
Централизованный планировщик задач
Ответы (1)
Вы можете заменить ScheduleExecutors на планировщик Quartz — вы можете установить максимальное количество потоков в его пуле потоков через org.quartz.threadPool.threadCount
свойство конфигурации.
Самый простой способ сделать ссылку на планировщик доступной во всех ваших потоках, например.
public class SchedulerWrapper {
private static Scheduler scheduler;
public static void addJob(JobDetail jobDetail) {
scheduler.addJob(jobDetail, true);
}
}
person
Zim-Zam O'Pootertoot
schedule
23.04.2013
Не приведет ли это к замедлению игры? Кстати, это многопользовательская игра в покер. Благодарность
- person Leon; 23.04.2013
Это не должно вызывать замедления, если вы установите соответствующий размер пула потоков, например. одна нить на игрока плюс одна нить для дилера.
- person Zim-Zam O'Pootertoot; 23.04.2013