一、ThreadPoolExecutor的重要参数 corePoolSize:核心线程数 核心线程会一直存活,及时没有任务需要执行 当线程数小于核心线程数时,即使有线程空闲,线程池也会优先创建新线程处理 设置allowCoreThreadTimeout=true(默认false)时,核心线程会超时关 ...
分类:
编程语言 时间:
2018-09-24 18:31:04
阅读次数:
226
1、环境: 系统:Windows、Linux Tomcat版本:9 2、编码与性能调优 server.xml文件: 参数说明: org.apache.coyote.http11.Http11NioProtocol:调整工作模式为Nio maxThreads:最大线程数,默认150。增大值避免队列请求 ...
分类:
其他好文 时间:
2018-09-19 16:10:43
阅读次数:
118
任务一般可分为:CPU密集型、IO密集型、混合型,对于不同类型的任务需要分配不同大小的线程池。 CPU密集型任务(计算密集型的程序)尽量使用较小的线程池,一般为CPU核心数+1。 因为CPU密集型任务使得CPU使用率很高,若开过多的线程数,只能增加上下文切换的次数,因此会带来额外的开销。(即使当计算 ...
分类:
编程语言 时间:
2018-09-19 14:46:16
阅读次数:
175
官方文档(Best Practices-最佳实践部分摘选):https://jmeter.apache.org/usermanual/best-practices.html 一、线程组 Use the correct Number of Threads(使用正确的线程数) 硬件能力以及测试计划设计都 ...
分类:
其他好文 时间:
2018-09-18 22:54:34
阅读次数:
271
一、Dictionary<TKey, TValue> 1、泛型类提供了从一组键到一组值的映射。通过键来检索值的速度是非常快的,这是因为 Dictionary<TKey,TValue> 类是作为一个哈希表来实现的。检索速度取决于为 TKey 指定的类型的哈希算法的质量。 2、TValue可以是值类型, ...
分类:
其他好文 时间:
2018-09-17 13:38:04
阅读次数:
159
一、简介 Semaphore类限制可同时访问某一资源或资源池的线程数。线程通过调用 WaitOne方法将信号量减1,并通过调用 Release方法把信号量加1。 构造函数:public Semaphore(int initialCount,int maximumCount);通过两个参数来设置信号的 ...
分类:
编程语言 时间:
2018-09-15 16:32:39
阅读次数:
218
Java集合框架 集合的引入:数组的优势:是一种简单的线性序列,可以快速地访问数组元素,效率高。如果从效率和类型检查的角度讲,数组是最好的。数组的劣势:不灵活。容量需要事先定义好,不能随着需求的变化而扩容。泛型:泛型是JDK1.5以后增加的,它可以帮助我们建立类型安全的集合。在使用了泛型的集合中,遍 ...
分类:
编程语言 时间:
2018-09-14 22:57:43
阅读次数:
264
线程池的作用 在上一篇中我们了解了创建和销毁线程是一个昂贵的操作,要耗费大量的时间,太多的线程会浪费内存资源,当线程数量操作计算机CPU的数量后操作系统必须调度可运行的线程并执行上下文切换,所有太多的线程还会影响性能,那么有没有办法让线程可以重复使用了,让线程干完活之后不用销毁,把它放在一个容器中,... ...
分类:
编程语言 时间:
2018-09-13 20:50:01
阅读次数:
275
1. 将测试的用例名称,测试请求方式,测试链接,预置数据,断言等都放到excel中,然后转成csv格式,在用Jmeter带的csv数据配置文件导入 运行之前将线程组中配置,线程数设置为1,循环的次数设置为测试用例数! 点击执行,将一各个请求顺序执行。 测试数据如下: Jmeter测试计划如下: 注意 ...
分类:
数据库 时间:
2018-09-11 11:30:23
阅读次数:
328
总结: 代码: 输出: 格式说明: 小时 :秒,时间戳, <当前进程ID, [父 进程ID,当前进程线程数量]> root@ssmaster:~/python# python test_threadprocess1.py 03:04,1536397384.349529: main begin03:0 ...
分类:
编程语言 时间:
2018-09-08 17:40:55
阅读次数:
166