最近应项目需要,客户请求并发量大。需要对并发量进行测试一下
在这记录一下java并发测试的方法
1.并发问题肯定是用多线程去模拟,在这里利用ExcutorService这个提供异步执行的类,去创建线程池,getData()这个方法是我们需要测试的并发发生点方法。
public static void testParallel() throws InterruptedException {
//这里ThreadPoolExecutor类继承AbstractExecutorService类,儿此类又实现了ExecutorService接口,所以这里创建的对象就是 线程池对象
ExecutorService threadPool = Executors.newFixedThreadPool(50);
for (int i = 0; i < 100; i++) {
threadPool.execute(()->getData());
//为调节并发 每20个
if(i%20==0){
TimeUnit.MICROSECONDS.sleep(100);
}
}
threadPool.shutdown();
}
利用这个模板,就可以对任何方法进行并发量测试了,不过上述的->必须是jdk1.8才可以使用