多线程的一个问题(线程等待的问题)详解编程语言
2023-06-13 09:20:40 时间
做压力测试的时候写了一个多线程去调用一个接口,想测试下接口最多能同时支持多少个线程,每个线程耗时多长。
最初写的代码
原想使用前后时间相减就是耗时,然后除以线程数,就得到每个线程的耗时。
但是现实是多线程的方法和我获得时间的方法是同步的,多线程还没有执行完成,我就获得了结束时间,所以时间获得的不正确,如果在//获得结束时间的地方打上断点就可以获得正确的时间了,(因为断点是等待多线程执行完成才执行的)。
找到问题了就好改了,改成下面的就好了。
先在主类中设置一个静态的变量,然后在多线程的run方法中每次加一
使用死循环一直等待多线程结束,当多线程中逐步累加的全局变量值等于默认的循环次数时就进入,获得时间之后break,跳出循环。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/13634.html
cjava相关文章
- java多线程编程面试题_linux多线程面试题
- Java 多线程模拟卖票
- 多线程合集(一)---信号量,锁,以及并发编程,自定义任务调度和awaiter
- Java 多线程,等线程里面东西都执行完成之后,才继续往下走
- python网络编程中的线程-多线程服务器编程
- Java 多线程详解(五)——线程的声明周期编程语言
- Java 多线程详解(三)——线程的同步编程语言
- Java多线程-线程的生命周期详解编程语言
- Java多线程18:线程池详解编程语言
- linux系统下的多线程创建及其操作(linux线程创建)
- 利用Redis构建高效的多线程模型(redis线程模型)
- Linux 下多线程编程技术实现(linux调用线程)
- Oracle多线程查询:快速查询大型数据库(oracle多线程查询)
- 「Linux线程编程题」:挑战你的多线程编程技能(linux线程编程题)
- 多线程Redis解决高并发问题(多线程redis高并发)
- 多线程访问Redis实现高效的集群管理(多个线程访问redis)
- Redis中多线程解决过期问题(redis过期 多线程)
- c#.net多线程编程教学——线程同步
- phpfsockopen中多线程问题的解决办法[翻译]
- 解析php多线程下载远程多个文件
- python使用urllib模块开发的多线程豆瓣小站mp3下载器