一种消息线程挂起时间的动态调节方法技术

技术编号:16128428 阅读:28 留言:0更新日期:2017-09-01 20:38
本发明专利技术提供了一种消息线程挂起时间的动态调节方法,所述方法包括:1)设TS为线程休眠时间;2)令发送消息至队列的频率小于从队列中获取消息处理的频率;3)消息处理不超过允许的消息响应时间,即消息队列中最后一个消息的处理时间达到响应时间要求,则所有消息都满足响应时间要求;4)令线程休眠一段时间后才能继续处理消息,并设置一个线程的最小休眠时间;5)设置一个线程的最长休眠时间;6)对上述步骤进行整理,得到当TS=TSmax_R时线程休眠时间使最长的。

Dynamic regulating method for message thread hanging time

The invention provides a message thread suspend time dynamic adjustment method, the method includes: 1) let TS sleep time for the thread; 2) to send the message to the queue to get the frequency of frequency is less than the message processing from the queue; 3) message processing does not exceed the allowable message response time, processing the last time a message in the message queue to achieve response time requirements, all messages meet the response time requirements; 4) the thread to sleep after a period of time to continue processing the message, the minimum sleep time and set a thread; 5) set a thread of the longest sleep time; 6) of the above steps to organize, when TS = TSmax_R to the longest time thread to sleep.

【技术实现步骤摘要】
一种消息线程挂起时间的动态调节方法
本专利技术涉及消息处理线程,尤其涉及消息线程挂起时间的动态调节。
技术介绍
消息处理线程,即连续不断地通过消息循环进行接收消息再进行处理的线程。由于CPU资源有限,一个线程不能一直占用CPU,因此线程在处理完一个消息后,需要挂起,即挂起线程,让其他同优先级线程有机会获取CPU。如此便需要设置一个合理的线程挂起时间,该时间不宜过短或过长。若挂起时间过短,浪费CPU,且会导致其他线程很难抢占CPU;若时间过长,可能导致急需处理的消息需要等待较长时间,从而达不到性能要求,以至于出现队列消息积压的情况发生。既有的处理方式为根据经验估算或试验一个恒定线程挂起时间,保证处理速率大于接收速率。但是,如果设计改变,这个值可能需要重新估算并测试,并且,估测值没有度量方法用于评价线程分配的挂起时间是否合理,是否符合设计要求(例如响应时间要求)。
技术实现思路
本专利技术的目的为提供一种消息线程挂起时间动态调节的方法,使线程的消息处理时间与挂起时间尽可能达到平衡,即以不影响线程处理消息的效率为前提,使线程挂起时间尽可能长,以减少CPU占用时间片,提高CPU的利用率,不依赖于本文档来自技高网...
一种消息线程挂起时间的动态调节方法

【技术保护点】
一种消息线程挂起时间的动态调节方法,其特征在于,所述方法包括以下步骤:1)设TS为线程休眠时间,单位ms;2)令发送消息至队列的频率小于从队列中获取消息处理的频率:f1<=f2f2=1000/(TA+TS)其中:f1为消息发送频率,即每秒发送至消息队列的消息个数;f2为消息处理频率,即每秒从消息队列中处理消息个数;3)消息处理不超过允许的消息响应时间,即消息队列中最后一个消息的处理时间达到响应时间要求,则所有消息都满足响应时间要求,需要满足如下条件:TD>=n*(TS+TA)n<=QTD为允许一个消息的最大响应时间(从消息被放入队列,到最后被处理完成),单位毫秒。n为消息队列...

【技术特征摘要】
1.一种消息线程挂起时间的动态调节方法,其特征在于,所述方法包括以下步骤:1)设TS为线程休眠时间,单位ms;2)令发送消息至队列的频率小于从队列中获取消息处理的频率:f1<=f2f2=1000/(TA+TS)其中:f1为消息发送频率,即每秒发送至消息队列的消息个数;f2为消息处理频率,即每秒从消息队列中处理消息个数;3)消息处理不超过允许的消息响应时间,即消息队列中最后一个消息的处理时间达到响应时间要求,则所有消息都满足响应时间要求,需要满足如下条件:TD>=n*(TS+TA)n<=QTD为允许一个消息的最大响应时间(从消息被放入队列,到最后被处理完成),单位毫秒。n为消息队列中缓存的消息个数;Q为消息队列最大缓存容量;4)令线程休眠一段时间后才能继续处理消息,并设置一个线程的最小休眠时间;TS>=TSmin5)设置一个线程的最长休眠时间;TS<...

【专利技术属性】
技术研发人员:黎邓根尹安旭岳龙
申请(专利权)人:湖南中车时代通信信号有限公司
类型:发明
国别省市:湖南,43

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1