摘要:本文将带你了解软件测试工具之并发测试工具类,希望本文对大家学测试工具有所帮助。
本文将带你了解软件测试工具之并发测试工具类,希望本文对大家学测试工具有所帮助。
前言:以往我们测试并发就是for循环创建线程,去跑程序,但那真的是在模拟并发环境吗?其实并不是,并发环境的真实场景应该是多个线程同时跑,同时就很重要。
我结合java函数编程写了如下测试类,仅供参考。
package com.delicacy.oatmeal.idworker;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
import java.util.function.Consumer;
/**
* 并发测试工具类
*
* @author zyt
* @create 2018-04-27 18:56
**/
public class ConcurrentTestUtil {
private static final int THREADNUM = 100;
public static <T> void test(T t,Consumer<T> consumer,int threadNum){
CountDownLatch countDownLatch = new CountDownLatch(threadNum);
for (int i=0;i<threadNum;i++){
new Thread(()->{
try {
countDownLatch.await();
} catch (InterruptedException e) {
e.printStackTrace();
}
consumer.accept(t);
}).start();
countDownLatch.countDown();
}
}
public static <T> void test(T t,Consumer<T> consumer){
test(t,consumer,THREADNUM);
}
}
123456789101112131415161718192021222324252627282930313233343536373839
@Test
public void contextLoads() {
ConcurrentTestUtil.test(new IdWorker(1), s -> {
System.out.println(s.nextId());
}, 10000);
}
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标软件测试之测试工具频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号