一. 简介

揭秘: SimpleThreadPool是Quartz.Net中自带的线程池,默认个数为10个,代表一个Scheduler同一时刻并发的最多只能执行10个job,超过10个的job需要排队等待。

二. 四种配置方案

1. NameValueCollection的方式

  需要利用StdSchedulerFactory的构造函数进行传进去,向哪个Sheduler中传,即配置哪个Sheduler的对应的线程池。

代码分享:

 1    {2                 var pairs = new System.Collections.Specialized.NameValueCollection() { };3                 pairs.Add("quartz.threadPool.ThreadCount", "20");   //设置线程池个数为204 5                 var factory = new StdSchedulerFactory(pairs);      //将前面的配置加到Scheduler工厂中6                 var scheduler = factory.GetScheduler();7                 scheduler.Start();8 9                 var meta = scheduler.GetMetaData();
10                 int threadPoolSize = meta.ThreadPoolSize;
11                 Console.WriteLine("线程池的个数为:{0}", threadPoolSize);
12    }

2. App.config的方式配置,

  详见:App.config文件,该模式代码中不需要进行任何的额外配置,适用于所有的Sheduler。

配置文件代码分享:

 1 <?xml version="1.0" encoding="utf-8" ?>2 <configuration>3   <!--线程池个数设置   开始-->4   5   <configSections>6     <section name="quartz" type="System.Configuration.NameValueSectionHandler, System, Version=1.0.5000.0,Culture=neutral, PublicKeyToken=b77a5c561934e089"/>7   </configSections>8   <quartz>9     <!--设置Sheduler的线程池个数为22-->
10     <add key="quartz.threadPool.threadCount" value="22"/>
11   </quartz>
12
13   <!--线程池个数设置   结束-->
14   <startup>
15     <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6"/>
16   </startup>
17 </configuration>

3. quartz.config文件的形式进行配置

  该模式代码中不需要进行任何的额外配置,适用于所有的Sheduler。

  用法:新建名为"quartz.config"的xml文件,在文件中写入:quartz.threadPool.threadCount=15 代表线程池个数设置为15, 同时要把该文件的属性设置为始终复制,使其可以生产到bin文件。

分享一下quartz.config中的代码

  PS:就一句话哦。

1 quartz.threadPool.threadCount=15

4. 通过代码设置电脑的环境变量来实现

  一句代码:Environment.SetEnvironmentVariable("quartz.threadPool.threadCount", "26"); 设置后,适用于所有的Sheduler。

代码分享:

   {//将线程池的个数设置为26Environment.SetEnvironmentVariable("quartz.threadPool.threadCount", "26");var factory = new StdSchedulerFactory();var scheduler = factory.GetScheduler();scheduler.Start();var meta = scheduler.GetMetaData();int threadPoolSize = meta.ThreadPoolSize;Console.WriteLine("线程池的个数为:{0}", threadPoolSize);}

总结:以上4种方式的优先级为:quartz.config < app.config < 环境变量 < namevaluecollection  

第八节: Quartz.Net五大构件之SimpleThreadPool及其四种配置方案相关推荐

  1. 第三节: Quartz.Net五大构件之Scheduler(创建、封装、基本方法等)和Job(创建、关联等)

    一. 五大构件 引言: Quartz.Net的五大构件 1.  调度器:Scheduler 2.  作业任务:Job 3.  触发器: Trigger 4.  线程池: SimpleThreadPoo ...

  2. 第四节: Quartz.Net五大构件之Trigger通用用法(常用方法、优先级、与job关联等)

    一. 简介 1. 几个类型: ①:TriggerBuilder:用来创建ITrigger实例 ②:ITrigger:触发器实例 2.常用的几个方法 ①.StartNow:Trigger马上触发. ②. ...

  3. 第五节: Quartz.Net五大构件之Trigger的四大触发类

    一. WithSimpleSchedule(ISimpleTrigger) 1. 用途:时.分.秒上的轮询(和timer类似),实际开发中,该场景占绝大多数. 2. 轮询的种类:永远轮询和限定次数轮询 ...

  4. Quartz.net官方开发指南 第十课: 配置、资源使用以及SchedulerFactory

    Quartz以模块方式构架,因此,要使它运行,几个组件必须很好的咬合在一起.幸运的是,已经有了一些现存的助手可以完成这些工作. 在Quartz进行工作之前需要被配置的组件主要有: • ThreadPo ...

  5. Quartz+Spring 自定义作业调度(作业在DB中配置)

    为什么80%的码农都做不了架构师?>>>    Quartz版本为1.8.3 Spring版本为2.5 自定义作业表 QRTZ_JOB. 其中定义 作业标识.作业名称.类名.触发器名 ...

  6. 使用quartz实现任务动态设置,从数据库获取配置时间

    Spring + quartz 2.2.3    xml配置 xml文件 <?xml version="1.0" encoding="GBK"?> ...

  7. plc控制可调节阀流程图_PLC五大主流编程语言你会几种?

    PLC的软件编程语言与一般计算机语言相比,具有明显的特点,它既不同于高级语言,也不同于一般的汇编语言,且要满足易于编写和调试的要求. 早期的PLC仅支持梯形图编程语言和指令表编程语言,现根据国际电工委 ...

  8. 五大地形等高线特征_五种基本地形特征

    <五种基本地形特征>由会员分享,可在线阅读,更多相关<五种基本地形特征(13页珍藏版)>请在人人文库网上搜索. 1.,五种基本地形特征,.,湖南教育版,等高线地形图,.,地形图 ...

  9. 使用免费RPA软件系统 构件自己的自动化流程 安装配置教程

    这里我们使用的是国产免费RPA软件系统:小瓶RPA ①第一步,官网下载基座程序 下载地址: https://rpa.pbottle.com/ 如图所示: ​ ​ ②第二步安装 Nodejs 如果电脑已 ...

最新文章

  1. Codeforces Gym 100513G G. FacePalm Accounting 暴力
  2. 人工智能正在激活互联网类脑系统,2018年,云脑将成为新热点
  3. 利用jQuery获取jsonp
  4. ADO.NET编程小错误
  5. 【C 语言】文件操作 ( 按照内存块的方式读写文件 | fread 函数 | fwrite 函数 )
  6. PAT甲级1025 PAT Ranking:[C++题解]排序、结构体、排名
  7. 台湾国立大学郭彦甫Matlab教程笔记(14)polynomial differentiation多项式微分
  8. Interview:算法岗位面试—10.24下午—上海某软件公司(机器学习,上市)电话面试—考察SVM、逻辑回归、降低过拟合、卷积网络基础等
  9. Python cv2 摄像头
  10. 反编译exe软件_【娱乐向】exe逆向工程(破译《游戏开发课》老师的成绩程序)...
  11. 如何移植.NET Framework项目至.NET Core?
  12. Finished yeah!
  13. olcd12864的u8g2库_Arduino为什么无法用u8g2驱动12864OLED屏?求找出错误
  14. 使用Groovy将一段代码动态构造成一个类的方法
  15. 斐讯盒子t1 刷Android,斐讯盒子T1/N1刷机流水账
  16. 爬取b站最火up主及其粉丝信息
  17. 启动计算机键盘没反应,为什么键盘没反应了 键盘没反应原因分析及解决方法...
  18. 【社会相关】:大神写的考研政治复习攻略
  19. CMU 15213:attack实验
  20. 采购行业权威证书对比

热门文章

  1. 145. Binary Tree Postorder Traversal
  2. [Oracle整理]CASE-END
  3. 【数据结构与算法】二分查找
  4. 关于set的自定义比较函数的使用及结构体的上下二分用法
  5. c语言实验报告熟悉vc,C语言实验报告源代码
  6. xml生成2维码_MyBatis(2)之MyBatis-Generator最佳实践
  7. vue编写to-do list源码
  8. 计算机excel知识点一级,2012年计算机一级考试高分必看知识点:EXCEL
  9. 1634C. OKEA
  10. 数据插不进mysql_数据插入不进数据库里面去。