TestNg线程池配置、执行次数配置、超时配置
使用注解的方式对TestNg线程池配置、执行次数配置、超时配置
注:使用注解来控制测试方法运行的次数和超时时间,timeOut在单线程或者多线程模式下都可用,threadPoolSize设置了线程池的个数 * ,在观察结果时,发现很多值是重复的,但是可能不等于我们配置的线程池个数,因为线程的个数还取决于硬件CPU的支持,
invocationCount----表示执行的次数
threadPoolSize-----表示线程池的内线程的个数
timeOut-------超时时间-毫秒
Javacode:
- /**
- *
- * <p>
- * Title: TestngInvocationCount
- * </p>
- *
- * <p>
- * Description:
- * 使用注解来控制测试方法运行的次数和超时时间,timeOut在单线程或者多线程模式下都可用,threadPoolSize设置了线程池的个数
- * ,在观察结果时,发现很多值是重复的,但是可能不等于我们配置的线程池内线程个数,因为线程的个数还取决于硬件CPU的支持,
- * </p>
- *
- * <p>
- * Company:
- * </p>
- *
- * @author : Dragon
- *
- * @date : 2014年10月22日
- */
- public class TestngInvocationCount {
- private static int sum = 0;
- @Test(threadPoolSize = 2, invocationCount = 10, timeOut = 1000)
- public void testServer() throws InterruptedException {
- // 检测启动的线程数,当启动的个数超过CPU核数时,其实是重新在调度
- // Thread.sleep(2000);
- sum++;
- System.out.println("........." + sum);
- }
- }
测试结果:
- [ThreadUtil] Starting executor timeOut:1000ms workers:10 threadPoolSize:3
- .........2
- .........2
- .........2
- .........3
- .........4
- .........5
- .........6
- .........7
- .........8
- .........9
- PASSED: testServer
- PASSED: testServer
- PASSED: testServer
- PASSED: testServer
- PASSED: testServer
- PASSED: testServer
- PASSED: testServer
- PASSED: testServer
- PASSED: testServer
- PASSED: testServer
- ===============================================
- Default test
- Tests run: 10, Failures: 0, Skips: 0
- ===============================================

TestNg线程池配置、执行次数配置、超时配置的更多相关文章
- 重新想象 Windows 8 Store Apps (42) - 多线程之线程池: 延迟执行, 周期执行, 在线程池中找一个线程去执行指定的方法
[源码下载] 重新想象 Windows 8 Store Apps (42) - 多线程之线程池: 延迟执行, 周期执行, 在线程池中找一个线程去执行指定的方法 作者:webabcd 介绍重新想象 Wi ...
- java并发编程(四) 线程池 & 任务执行、终止源码分析
参考文档 线程池任务执行全过程:https://blog.csdn.net/wojiaolinaaa/article/details/51345789 线程池中断:https://www.cnblog ...
- Hystrix配置实战及feign超时配置失效
一.feign超时配置失效 最近项目上遇见feign超时配置总是失效.导致feign调用超过2s之后就会超时,会进行自动重试,重复调用两次服务,并且还是指定接口.这就更加奇怪.最后通过观察以及源码调试 ...
- C# -- 使用线程池 ThreadPool 执行多线程任务
C# -- 使用线程池 ThreadPool 执行多线程任务 1. 使用线程池 class Program { static void Main(string[] args) { WaitCallba ...
- ForkJoinPool线程池--分支执行
import java.util.ArrayList; import java.util.concurrent.ExecutionException; import java.util.concurr ...
- Hystrix多个线程池切换执行超时带来的问题(图解)
线程池切换带来的超时问题 上图有什么问题: Controller的Hystrx线程池已经到了超时时间,而FeignClient的Hystrx线程池还没到超时时间. 场景: Controller ...
- 戏(细)说Executor框架线程池任务执行全过程(下)
上一篇文章中通过引入的一个例子介绍了在Executor框架下,提交一个任务的过程,这个过程就像我们老大的老大要找个老大来执行一个任务那样简单.并通过剖析ExecutorService的一种经典实现Th ...
- Android AsyncTask内部线程池异步执行任务机制简要分析
如下分析针对的API 25的AsyncTask的源码: 使用AsyncTask如果是调用execute方法则是同步执行任务,想要异步执行任务可以直接调用executeOnExecutor方法,多数情况 ...
- 戏(细)说Executor框架线程池任务执行全过程(上)
一.前言 1.5后引入的Executor框架的最大优点是把任务的提交和执行解耦.要执行任务的人只需把Task描述清楚,然后提交即可.这个Task是怎么被执行的,被谁执行的,什么时候执行的,提交的人就不 ...
随机推荐
- 无法解析的外部符号 __imp__InitCommonControlsEx@4
需要comctl32.lib 今天在codeproject上找到一个屏保程序,http://www.codeproject.com/Articles/1551/Creating-a-screen-sa ...
- 数据结构One_Vector(向量的简单实现)
#include <iostream> using namespace std; template<typename Object> class Vector { privat ...
- REORG TABLESPACE on z/os
这个困扰了我两天的问题终于解决了,在运行这个job时:总是提示 A REQUIRED DD CARD OR TEMPLATE IS MISSING NAME=SYSDISC A REQUIRED DD ...
- Android Tab -- 使用TabWidget、TabHost、TabActivity来实现
原文地址:http://blog.csdn.net/crazy1235/article/details/42678877 TabActivity在API13之后被fragment替代了,所以不建议使用 ...
- Jcapta
http://blog.csdn.net/shadowsick/article/details/8575471
- 与你相遇好幸运,MongoDB小技巧
保存为bat方便: "C://Program Files//MongoDB//Server//3.2//bin//mongod.exe" --dbpath=D://corp//db ...
- Feature hashing相关 - 2
Bloom filter 思路 用多个不同hash 来记录,比如遇到一个 love 有4个hash function 映射到4个bit位置,如果所有位置都是1 那么认为之前已经遇到love这个 ...
- 【JAVA正则表达式】
一.String类. java.lang.Object |--java.lang.String 常用方法: String replaceAll(String regex, String replac ...
- 图结构练习——最小生成树(prim算法(普里姆))
图结构练习——最小生成树 Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^ 题目描述 有n个城市,其中有些城市之间可以修建公路,修建不同 ...
- struts拦截器实现原理
图1: 上1来源于Struts2官方站点,是Struts 2 的整体结构. 一个请求在Struts2框架中的处理大概分为以下几个步骤 1 客户端初始化一个指向Servlet容器(例如Tomcat)的请 ...