Springboot tomcat 多线程 模型 web容器 模型 并发模型 Java
代码1
@ApiOperation("测线程")
@RequestMapping(value = "/test-thread")
public String testThread() {
System.out.println(Thread.currentThread().getName());
System.out.println(testX.getName());
return "ok";
}
每一个请求都对应了一个线程(刷新一次页面 就出现了一个不同的线程 当然 tomcat不会每次都新增 ,直接在线程池中取就OK)
为验证并发问题,建了一个TestX类
代码2
@Component
public class TestX {
String name = "test1";
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
因为spring是单例,所以每个请求访问的都是同一个TestX的实例,看上面的代码1
使用jmeter 测试并发 就出现了并发的问题
1 是进入控制器 2是输出testX的name 3是testX中输出当前线程名称
下图红色的是正常流程,黄色的为并发问题,其他的没列出
Rust编程语言群 1036955113
java新手自学群 626070845
java/springboot/hadoop/JVM 群 4915800
Hadoop/mongodb(搭建/开发/运维)Q群481975850
GOLang Q1群:6848027
GOLang Q2群:450509103
GOLang Q3群:436173132
GOLang Q4群:141984758
GOLang Q5群:215535604
C/C++/QT群 1414577
单片机嵌入式/电子电路入门群群 306312845
MUD/LIB/交流群 391486684
Electron/koa/Nodejs/express 214737701
大前端群vue/js/ts 165150391
操作系统研发群:15375777
汇编/辅助/破解新手群:755783453
大数据 elasticsearch 群 481975850
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
java新手自学群 626070845
java/springboot/hadoop/JVM 群 4915800
Hadoop/mongodb(搭建/开发/运维)Q群481975850
GOLang Q1群:6848027
GOLang Q2群:450509103
GOLang Q3群:436173132
GOLang Q4群:141984758
GOLang Q5群:215535604
C/C++/QT群 1414577
单片机嵌入式/电子电路入门群群 306312845
MUD/LIB/交流群 391486684
Electron/koa/Nodejs/express 214737701
大前端群vue/js/ts 165150391
操作系统研发群:15375777
汇编/辅助/破解新手群:755783453
大数据 elasticsearch 群 481975850
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。