问答详情
源自:2-7 CronTrigger

Org.quartz.simpl.SimpleThreadPool类是怎么用的?Quartz的线程池是怎么用的?

Org.quartz.simpl.SimpleThreadPool类是怎么用的?Quartz的线程池是怎么用的?

提问者:慕粉1612004826 2017-07-23 23:14

个回答

  • 翔仔
    2017-08-24 13:50:03

    这个是Quartz 中自带的一个线程池的实现。类如其名,这只是线程池的一个简单实现,没有提供动态自发调整等高级特性。你可以在里面预先指定好并发的线程数,就好比生产者消费者模型,里面就有有限的工作者线程,在同一时间内就只能并发执行相应数量的任务,多出的任务就要排队。它的具体实现同学可以去看看相关的源码,肯定会有收获。 使用方式有两种,

    第一种在quartz.properties里面去指定,主要指定这个参数org.quartz.threadPool.threadCount,咱们在教程里也默认声明式地用上了这个线程池了;

    第二种是编程式指定,我看到有个博客在这么使用:

    Properties props = new Properties();
       props.put(StdSchedulerFactory.PROP_THREAD_POOL_CLASS,
               "org.quartz.simpl.SimpleThreadPool");
       props.put("org.quartz.threadPool.threadCount", "50");       //任务线程个数

       StdSchedulerFactory factory = new StdSchedulerFactory();
       factory.initialize(props);
       Scheduler scheduler = factory.getScheduler();

    以上是基于第二个方式来使用,声明式使用

  • 慕用2362590
    2017-07-25 00:06:48

    同问,