java的并发测试
来源:互联网 发布:边际递减效应爱情知乎 编辑:程序博客网 时间:2024/06/05 06:02
1. 什么是并发测试
通过代码的编写和工具的利用模拟多线程(多用户)来执行某一个业务操作。来确保业务在多线程的环境下业务(或者说数据的)的正确性
2. 为什么做并发测试
我们常常听到线上环境在高并发的情况下。出现用户的账户余额不对,一个手机号注册了两个账户这类情况。所以我们有必要模拟大量用户的并发测试
3. 如何做并发测试
我在这儿是使用的是testng的方法。见如下实例(在多线程的环境下,非线程安全)
package com.one;import java.util.HashMap;import org.testng.annotations.AfterTest;import org.testng.annotations.Test;public class UnsafeCountingFactorizer { private long count=0; public long getCount(){ return count; } @Test(invocationCount=20000,threadPoolSize=1000) public void service() { HashMap<String, String> hashMap = new HashMap<String,String>(); hashMap.put("1", "1"); hashMap.put("1", "1"); hashMap.put("1", "1"); hashMap.put("1", "1"); ++count; HashMap<String, String> hashMap2 = new HashMap<String,String>(); hashMap2.put("1", "1"); hashMap2.put("1", "1"); hashMap2.put("1", "1"); } @AfterTest public void endService(){ System.out.println("count value{}:"+count); } }
参数讲解
invocationCount:注解的方法执行多少次,threadPoolSize:启动多少个线程去执行。两个参数合起来的含义是启动多少个线程一共执行多少次
结果
预期的结果是20000次,但是事实非如此,见下图:
0 0
- java的并发测试
- Java的UUID生成工具并发测试
- Java的UUID生成工具并发测试
- java并发编程实战-并发程序的测试
- java测试并发类
- Jmeter 测试java并发
- java并发测试代码
- 并发系统的测试
- loadrunner的并发测试
- 用java并发测试tokyo cabinet的性能
- 关于JAVA多线程并发synchronized的测试与合理使用
- 关于JAVA多线程并发synchronized的测试与合理使用
- Java中的HashMap和ConcurrentHashMap的并发性能测试
- 关于JAVA多线程并发synchronized的测试与合理使用
- Java并发测试扩展插件JunitPerf的使用
- [Java Concurrency in Practice]第十二章 并发程序的测试
- java多线程并发编程测试(最简单的)
- java并发之EDT测试
- Easy-题目44:19. Remove Nth Node From End of List
- 客户端调用服务端接口减少请求数据容量的优化例子
- 安卓小案例收集二
- poj1984 Navigation Nightmare(带权并查集)
- [bzoj2818]gcd
- java的并发测试
- READING NOTE: Semantic Object Parsing with Graph LSTM
- 基因数据处理43之mango之503错误
- 2016SDAU课程练习三1016
- 排序——冒泡排序
- 无线通信大作业 开题报告
- openwrt中使用ubus实现进程通信
- window 局域网下文件共享的开启与关闭方法
- 上拉刷新--下拉加载XListView