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是怎么被执行的,被谁执行的,什么时候执行的,提交的人就不 ...
随机推荐
- 更新补丁Bind
1.查询补丁版本信息 (1) rpm -qa|grep bind (2) dig @localhost version.bind 2.下载安装 BIND最新漏洞和升级解决办法 现在有非常多的公司的都有 ...
- Oracle、SQL Server、MySQL分页方法
测试用例:查询TEST_TABLE表中TEST_COLUMN列的第10-20条数据 1,Oracle分页方法 SELECT A.* FROM ( SELECT ROWNUM ROWNO, B.* FR ...
- openURL的使用方法:
openURL的使用方法: view plaincopy toclipboardprint? [[UIApplication sharedApplication] openURL:[NS ...
- http协议之request
一.请求的基本格式 请求的基本格式包括请求行,请求头,请求实体三部分.例如:GET /img/bd_logo1.png HTTP/1.1Accept: */*Referer: http://www.b ...
- php文件上传进度条例子
<?php session_start(); ?> <!DOCTYPE html> <html lang="zh-CN"> <head&g ...
- Linux性能分析工具的安装和使用
转自:http://blog.chinaunix.net/uid-26488891-id-3118279.html Normal 0 7.8 磅 0 2 false false false EN-US ...
- AngularJS讲义-控制器
在Angular中,控制器(Controller)就是基于JavaScript的构造方法,主要用来构造模型并建立模型和视图之间的数据绑定.控制器里面定义了应用程序的逻辑和行为. 通过ng-contro ...
- CXF学习(2) helloworld
0.新建一个项目取名wsserver. pom.xml 文件如下 <project xmlns="http://maven.apache.org/POM/4.0.0" xml ...
- android 入门-android Studio git 克隆
最后是完成 以上是如何从android studio Git 克隆Github的项目
- android 入门-控件 测量状态栏高度
private ViewTreeObserver viewTreeObserver; /** 获取可見区域高度 **/ WindowManager manager = getWindowManager ...