1.定义一个controller,里面写个测试方法,用于postman测试

 1     @GetMapping("/toTestThread")
2 public void demosendThread() {
3
4 try {
5 startTime = System.currentTimeMillis();
6 System.out.println("CountDownLatch started at: " + startTime);
7 // 初始化计数器为1
8 CountDownLatch countDownLatch = new CountDownLatch(1);
9 for (int i = 0; i < THREAD_NUM; i++) {
10 new Thread(new Run(countDownLatch)).start();
11 }
12 // 启动多个线程
13 countDownLatch.countDown();
14 } catch (Exception e) {
15 System.out.println("Exception: " + e);
16 }
17
18 }

2.书写多线程

    /**
* 线程类
*/
private class Run implements Runnable {
private final CountDownLatch startLatch; public Run(CountDownLatch startLatch) {
this.startLatch = startLatch;
} @Override
public void run() {
try {
// 线程等待
startLatch.await();
// 执行操作
/** 这里调用你要测试的接口 */ String msg = "{\n" +
" \"name\":\"终端1\",\n" +
" \"id\":\"202303110001xl\",\n" +
" \"terminal\":\"COL\",\n" +
" \"mtype\":\"MSGE\",\n" +
" \"t\":\"2023-05-05 09:28:47.475\",\n" +
" \"params\":[\n" +
" {\n" +
" \"kks\":\"发变811层/机组1.电压1\",\n" +
" \"ref\":\"发变811层/机组1.电压1\",\n" +
" \"val\":\"0.56-kV\",\n" +
" \"vtype\":\"电压\",\n" +
" \"t\":\"2023-05-05 09:28:47.872\"\n" +
" }\n" +
" ]\n" +
"}"; JSONObject jsonObject = JSONObject.parseObject(msg);
HelloSpringMsg helloReq = new HelloSpringMsg();
helloReq.setJson(String.valueOf(jsonObject)); //具体接口
demoSpringAction.here(helloReq); long endTime = System.currentTimeMillis();
System.out.println(Thread.currentThread().getName() + " ended at: " + endTime + ", cost: " + (endTime - startTime) + " ms.");
} catch (Exception e) {
e.printStackTrace();
}
} }

  3.两个静态变量定义

    /** * 定义并发线程数量 */
public static final int THREAD_NUM = 100;
/** * 开始时间 */
private static long startTime = 0L;

  4.查看控制台调用情况

java多线程压力测试接口的更多相关文章

  1. Java多线程(五) Lock接口,ReentranctLock,ReentrantReadWriteLock

    在JDK5里面,提供了一个Lock接口.该接口通过底层框架的形式为设计更面向对象.可更加细粒度控制线程代码.更灵活控制线程通信提供了基础.实现Lock接口且使用得比较多的是可重入锁(Reentrant ...

  2. 记一次完整的java项目压力测试

    总结:通过这次压力测试,增加了对程序的理解:假定正常情况下方法执行时间为2秒,吞吐量为100/s,则并发为200/s:假设用户可接受范围为10s,那么并发量可以继续增加到1000/s,到这个时候一切还 ...

  3. java 多线程:Callable接口;FutureTask类实现对象【Thread、Runnable、Callable三种方式实现多线程的区别】

    Callable接口介绍: Java5开始,Java提供了Callable接口,像是Runnable接口的增强版,Callable接口提供了一个 call()方法可以作为线执行体. call()方法比 ...

  4. Java多线程的~~~Lock接口和ReentrantLock使用

    在多线程开发.除了synchronized这个keyword外,我们还通过Lock接口来实现这样的效果.由Lock接口来实现 这样的多线程加锁效果的优点是非常的灵活,我们不在须要对整个函数加锁,并且能 ...

  5. java多线程--实现Runnable接口方式

    因为java类只能继承一个类可以实现多个接口的特性,所以一般情况下不推荐使用继承Thread类实现多线程,下面是实现Runnable接口方式的简单多线程代码 package text; /** * 多 ...

  6. java多线程--实现Runnable接口

    package unit8; import java.applet.Applet; import java.awt.Label; import java.awt.TextField; public c ...

  7. java使用Test测试接口类

    package com.jy.demo.web; import java.util.Map; import org.junit.BeforeClass; import org.junit.Test; ...

  8. Java实现压力测试---可输出请求信息、error信息

    import java.io.; import java.net.; import java.util.; import java.util.concurrent.; public class Tes ...

  9. Java项目压力测试(待补)

    JVM监控使用ava自带jvisualvm,在java安装目录jdk1.*/bin下(有很多更高级的东西 线程2000以下,太多切换太消耗.CPU使用率30%以下,更健壮

  10. (转)学习使用Jmeter做压力测试(一)--压力测试基本概念

    一.性能测试的概念 性能测试是通过自动化的测试工具模拟多种正常峰值及异常负载条件来对系统的各项性能指标进行测试.负载测试和压力测试都属于性能测试,两者可以结合进行. 通过负载测试,确定在各种工作负载下 ...

随机推荐

  1. go time时间格式化

    时间戳与时间格式相互转化 例一 // 时间戳转时间 str_time := time.Unix(1617279282,0).Format("2006-01-02 15:04:05" ...

  2. docker clean images

    docker ps | grep portal | awk '{print $2}' | cut -d ":" -f3 used=`docker ps | grep portal ...

  3. ORA-01779: 无法修改与非键值保存表对应的列”中涉及的概念和解决方法

    什么是键值保存表(Key-Preserved Table)? 在理解什么是键值保存表之前,首先要知道 可更新的联接视图 这个概念,键值保存表只是保存了允许更新的字段信息的一张表.为什么会出现这么一张表 ...

  4. 网络编程-关闭连接(2)-Java的NIO在关闭socket时,究竟用了哪个系统调用函数?

    背景 在上一讲网络编程-关闭连接-C/C++相关系统调用中,提到过,目前项目使用Netty框架来实现的网络编程,查看netty源码可以得知,netty最终是调用了java Nio的close接口做的关 ...

  5. PHP配置并使用mosquitto

    要在PHP中配置和使用Mosquitto,你需要进行以下步骤: 安装Mosquitto PHP扩展: sudo apt-get install php-mosquitto 在PHP配置文件中启用Mos ...

  6. 【Linux】5.1 Shell简介

    Shell简介 1. Shell基础 Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁.Shell 既是一种命令语言,又是一种程序设计语言. Shell 是指一种应用程序,这 ...

  7. 未给任务“SignFile”的所需参数“CertificateThumbprint”赋值.

    问题重现 一个项目发布时错误如下错误: 解决方法 打开项目属性-签名 方式一 [取消勾选]为 ClickOnce 清单签名 - 简单粗暴 方式二 [勾选]为 ClickOnce 清单签名 创建测试证书 ...

  8. Spring AI 增加混元 embedding 向量功能

    上次我们讨论了如何将自己的开源项目发布到 Maven 中央仓库,确保其能够方便地被其他开发者使用和集成.而我们的项目 spring-ai-hunyuan 已经具备了正常的聊天对话功能,包括文本聊天和图 ...

  9. sulime设置备份

    { "color_scheme": "Packages/Color Scheme - Default/Monokai.sublime-color-scheme" ...

  10. ilruntime记录

    https://www.jianshu.com/p/e7283e1ed86a