JAVA如何精确控制速度!大神们请指点~
最近项目中的性能模块有一个需求就是精确控制报文的发送速度进行系统性能测试,简述下流程,根据指定数量,批量生成报文(每笔报文可以理解成一堆字符串),然后通过消息中间件MQ发给业务系统。但是要求按照一定的速度进行均匀发送,比如一秒钟发送10笔,目前的做法是计算出总笔数在没有延时的情况下发出去的耗时,算出大概速度再反推每笔之间应该加的延时毫秒数,但是发现当延时为几十毫秒的时候通过sleep方式进行延时速度完全不准。
希望高手指点下,如何实现这种精确的速度控制,注意要达到均匀的效果,比如一秒钟发送10笔,不能是头100毫秒全部发送完后面时间等待这样会造成CPU监控时图形的起伏。大神们都来指点吧!多谢