多线程的一个问题(线程等待的问题)详解编程语言

做压力测试的时候写了一个多线程去调用一个接口,想测试下接口最多能同时支持多少个线程,每个线程耗时多长。

 

最初写的代码

原想使用前后时间相减就是耗时,然后除以线程数,就得到每个线程的耗时。

 

但是现实是多线程的方法和我获得时间的方法是同步的,多线程还没有执行完成,我就获得了结束时间,所以时间获得的不正确,如果在//获得结束时间的地方打上断点就可以获得正确的时间了,(因为断点是等待多线程执行完成才执行的)。

 

找到问题了就好改了,改成下面的就好了。

先在主类中设置一个静态的变量,然后在多线程的run方法中每次加一

 

 

使用死循环一直等待多线程结束,当多线程中逐步累加的全局变量值等于默认的循环次数时就进入,获得时间之后break,跳出循环。

 

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/13634.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论