做压力测试的时候写了一个多线程去调用一个接口,想测试下接口最多能同时支持多少个线程,每个线程耗时多长。
最初写的代码
原想使用前后时间相减就是耗时,然后除以线程数,就得到每个线程的耗时。
但是现实是多线程的方法和我获得时间的方法是同步的,多线程还没有执行完成,我就获得了结束时间,所以时间获得的不正确,如果在//获得结束时间的地方打上断点就可以获得正确的时间了,(因为断点是等待多线程执行完成才执行的)。
找到问题了就好改了,改成下面的就好了。
先在主类中设置一个静态的变量,然后在多线程的run方法中每次加一
使用死循环一直等待多线程结束,当多线程中逐步累加的全局变量值等于默认的循环次数时就进入,获得时间之后break,跳出循环。
本文介绍了一种通过多线程进行压力测试的方法,详细解释了如何准确测量接口支持的最大线程数及单个线程的耗时,并分享了解决同步问题的有效方案。
10万+

被折叠的 条评论
为什么被折叠?



