使用注解的方式对TestNg线程池配置、执行次数配置、超时配置

注:使用注解来控制测试方法运行的次数和超时时间,timeOut在单线程或者多线程模式下都可用,threadPoolSize设置了线程池的个数 * ,在观察结果时,发现很多值是重复的,但是可能不等于我们配置的线程池个数,因为线程的个数还取决于硬件CPU的支持,

invocationCount----表示执行的次数

threadPoolSize-----表示线程池的内线程的个数

timeOut-------超时时间-毫秒

Javacode:

  1. /**
  2. *
  3. * <p>
  4. * Title: TestngInvocationCount
  5. * </p>
  6. *
  7. * <p>
  8. * Description:
  9. * 使用注解来控制测试方法运行的次数和超时时间,timeOut在单线程或者多线程模式下都可用,threadPoolSize设置了线程池的个数
  10. * ,在观察结果时,发现很多值是重复的,但是可能不等于我们配置的线程池内线程个数,因为线程的个数还取决于硬件CPU的支持,
  11. * </p>
  12. *
  13. * <p>
  14. * Company:
  15. * </p>
  16. *
  17. * @author : Dragon
  18. *
  19. * @date : 2014年10月22日
  20. */
  21. public class TestngInvocationCount {
  22. private static int sum = 0;
  23. @Test(threadPoolSize = 2, invocationCount = 10, timeOut = 1000)
  24. public void testServer() throws InterruptedException {
  25. // 检测启动的线程数,当启动的个数超过CPU核数时,其实是重新在调度
  26. // Thread.sleep(2000);
  27. sum++;
  28. System.out.println("........." + sum);
  29. }
  30. }

测试结果:

  1. [ThreadUtil] Starting executor timeOut:1000ms workers:10 threadPoolSize:3
  2. .........2
  3. .........2
  4. .........2
  5. .........3
  6. .........4
  7. .........5
  8. .........6
  9. .........7
  10. .........8
  11. .........9
  12. PASSED: testServer
  13. PASSED: testServer
  14. PASSED: testServer
  15. PASSED: testServer
  16. PASSED: testServer
  17. PASSED: testServer
  18. PASSED: testServer
  19. PASSED: testServer
  20. PASSED: testServer
  21. PASSED: testServer
  22. ===============================================
  23. Default test
  24. Tests run: 10, Failures: 0, Skips: 0
  25. ===============================================

TestNg线程池配置、执行次数配置、超时配置的更多相关文章

  1. 重新想象 Windows 8 Store Apps (42) - 多线程之线程池: 延迟执行, 周期执行, 在线程池中找一个线程去执行指定的方法

    [源码下载] 重新想象 Windows 8 Store Apps (42) - 多线程之线程池: 延迟执行, 周期执行, 在线程池中找一个线程去执行指定的方法 作者:webabcd 介绍重新想象 Wi ...

  2. java并发编程(四) 线程池 & 任务执行、终止源码分析

    参考文档 线程池任务执行全过程:https://blog.csdn.net/wojiaolinaaa/article/details/51345789 线程池中断:https://www.cnblog ...

  3. Hystrix配置实战及feign超时配置失效

    一.feign超时配置失效 最近项目上遇见feign超时配置总是失效.导致feign调用超过2s之后就会超时,会进行自动重试,重复调用两次服务,并且还是指定接口.这就更加奇怪.最后通过观察以及源码调试 ...

  4. C# -- 使用线程池 ThreadPool 执行多线程任务

    C# -- 使用线程池 ThreadPool 执行多线程任务 1. 使用线程池 class Program { static void Main(string[] args) { WaitCallba ...

  5. ForkJoinPool线程池--分支执行

    import java.util.ArrayList; import java.util.concurrent.ExecutionException; import java.util.concurr ...

  6. Hystrix多个线程池切换执行超时带来的问题(图解)

      线程池切换带来的超时问题 ​ 上图有什么问题: Controller的Hystrx线程池已经到了超时时间,而FeignClient的Hystrx线程池还没到超时时间. 场景: Controller ...

  7. 戏(细)说Executor框架线程池任务执行全过程(下)

    上一篇文章中通过引入的一个例子介绍了在Executor框架下,提交一个任务的过程,这个过程就像我们老大的老大要找个老大来执行一个任务那样简单.并通过剖析ExecutorService的一种经典实现Th ...

  8. Android AsyncTask内部线程池异步执行任务机制简要分析

    如下分析针对的API 25的AsyncTask的源码: 使用AsyncTask如果是调用execute方法则是同步执行任务,想要异步执行任务可以直接调用executeOnExecutor方法,多数情况 ...

  9. 戏(细)说Executor框架线程池任务执行全过程(上)

    一.前言 1.5后引入的Executor框架的最大优点是把任务的提交和执行解耦.要执行任务的人只需把Task描述清楚,然后提交即可.这个Task是怎么被执行的,被谁执行的,什么时候执行的,提交的人就不 ...

随机推荐

  1. 无法解析的外部符号 __imp__InitCommonControlsEx@4

    需要comctl32.lib 今天在codeproject上找到一个屏保程序,http://www.codeproject.com/Articles/1551/Creating-a-screen-sa ...

  2. 数据结构One_Vector(向量的简单实现)

    #include <iostream> using namespace std; template<typename Object> class Vector { privat ...

  3. REORG TABLESPACE on z/os

    这个困扰了我两天的问题终于解决了,在运行这个job时:总是提示 A REQUIRED DD CARD OR TEMPLATE IS MISSING NAME=SYSDISC A REQUIRED DD ...

  4. Android Tab -- 使用TabWidget、TabHost、TabActivity来实现

    原文地址:http://blog.csdn.net/crazy1235/article/details/42678877 TabActivity在API13之后被fragment替代了,所以不建议使用 ...

  5. Jcapta

    http://blog.csdn.net/shadowsick/article/details/8575471

  6. 与你相遇好幸运,MongoDB小技巧

    保存为bat方便: "C://Program Files//MongoDB//Server//3.2//bin//mongod.exe" --dbpath=D://corp//db ...

  7. Feature hashing相关 - 2

    Bloom filter     思路 用多个不同hash 来记录,比如遇到一个 love 有4个hash function 映射到4个bit位置,如果所有位置都是1 那么认为之前已经遇到love这个 ...

  8. 【JAVA正则表达式】

    一.String类. java.lang.Object |--java.lang.String 常用方法:  String replaceAll(String regex, String replac ...

  9. 图结构练习——最小生成树(prim算法(普里姆))

      图结构练习——最小生成树 Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^ 题目描述  有n个城市,其中有些城市之间可以修建公路,修建不同 ...

  10. struts拦截器实现原理

    图1: 上1来源于Struts2官方站点,是Struts 2 的整体结构. 一个请求在Struts2框架中的处理大概分为以下几个步骤 1 客户端初始化一个指向Servlet容器(例如Tomcat)的请 ...