[發明專利]隊列消息的處理方法、控制消息進入隊列的方法及裝置有效
| 申請號: | 201310504955.6 | 申請日: | 2013-10-23 |
| 公開(公告)號: | CN103543988B | 公開(公告)日: | 2017-05-10 |
| 發明(設計)人: | 高光遠 | 申請(專利權)人: | 華為終端有限公司 |
| 主分類號: | G06F9/38 | 分類號: | G06F9/38 |
| 代理公司: | 北京弘權知識產權代理事務所(普通合伙)11363 | 代理人: | 許偉群,郭放 |
| 地址: | 518129 廣東省*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 隊列 消息 處理 方法 控制 進入 裝置 | ||
技術領域
本發明涉及信息處理技術領域,特別涉及一種隊列消息的處理方法、控制消息進入隊列的方法及裝置。
背景技術
消息處理機制(Handler)是Android系統的核心設計機制之一,整個系統都是靠消息來驅動的。比如,消息隊列是消息處理類(Looper)中的消息存儲隊列。Looper中的消息偵聽方法中,先把消息取出,然后調用Handler的消息分發處理方法對消息進行處理。Handler類的消息入隊方法中,往消息隊列中放入消息。loop方法每次都是從消息存儲隊列的頭中取消息。對于需要在同一時刻處理的消息,Handler類的消息入隊方法中,每次把該消息放到距離隊列頭最近的位置。消息在隊列中是按照離處理時刻越近的消息越靠近消息隊列的頭的方式進行排列,如果處理時刻的域值填充的是0,表示該消息需要立即處理。圖1為現有技術中多個消息進入隊列的順序的示意圖,假設有A、B、C、D、E、F五個消息需要立即處理,每隔100毫秒來一個消息,處理一個消息需要1000毫秒。消息進入隊列和取出被處理的順序分別為:消息進入隊列的順序為:A、B、C、D、E、F;以及消息取出被處理的順序為:A、F、E、D、C、B。可見,先到的消息B在后到的消息C/D/E/F之后才處理。
在對現有技術的研究和實踐過程中,本發明的發明人發現,現有的實現方式中,對于后到的消息先處理,而先到的消息后處理,容易導致應用程序無響應(ANR,Application Not Responding),也降低了對消息處理的時效性。
發明內容
本發明實施例中提供了一種消息隊列的處理方法、控制消息進入隊列的方法及裝置,以解決現有技術中對先到消息進行后處理,導致處理消息的時效性降低的技術問題。
為了解決上述技術問題,本發明實施例公開了如下技術方案:
第一方面提供了一種消息隊列的處理方法,所述方法應用于移動終端的操作系統,所述方法包括:
接收需要處理的消息;
按照所述消息的依賴關系進行分類,并將分類后的消息放入對應的處理隊列組中,所述 處理隊列組包括:并行處理隊列組和串行處理隊列;
獲取所述處理隊列組中的頭節點鏈表,所述頭節點鏈表為對應的處理隊列組中每個不同時刻對應的消息鏈表的節點連接在一起的鏈表;其中,所述頭節點鏈表包括:并行處理隊列組中的并行頭節點鏈表和串行處理隊列組中的串行頭節點鏈表;
在達到對應的所述頭節點鏈表中的節點的處理時刻時,對所述頭節點鏈表中的節點的消息鏈表進行處理。
在第一方面的第一種可能的實現方式中,還包括:
在達到下一個節點的處理時刻時,將所述下一個節點的消息鏈表鏈接到當前鏈表的尾部,其中,所述下一個節點為所述并行頭節點鏈表中或所述串行頭節點鏈表中當前正在處理的節點的下一個節點。
結合第一方面或第一方面的第一種可能的實現方式,在第二種可能的實現方式中,所述方法還包括:
在將所述下一個節點的消息鏈表鏈接到當前鏈表的尾部后,刪除所述頭節點鏈表中所述下一個節點的消息鏈表對應的節點,其中,所述下一個節點的消息鏈表為所述并行頭節點鏈表或串行頭節點鏈表中的下一個節點的消息鏈表。
結合第一方面或第一方面的第一種或第二種可能的實現方式,在第三種可能的實現方式中,所述獲取到的所述頭節點鏈表中每個頭節點的頭指針域和尾指針域,分別指向對應的所述消息鏈表的頭部和尾部,其中,所述頭節點鏈表中的每個頭節點包括:并行頭節點鏈表中的每個頭節點和串行頭節點鏈表中的每個頭節點。
結合第一方面或第一方面的第一種或第二種或第三種可能的實現方式,在第四種可能的實現方式中,所述按照所述消息的依賴關系進行分類,并將分類后的消息放入對應的處理隊列組中,包括:
判斷所述消息中是否包括指示信息,如果包括指示信息,則按照所述指示信息對所述消息進行分類,并將分類后的所述消息放入對應的處理隊列組中對應時刻的相應消息鏈表中;如果沒有包括指示信息,則將所述消息放入對應的串行處理隊列組中對應時刻的相應消息鏈表中。
第二方面提供了一種控制消息進入隊列的方法,所述方法包括:
接收消息;
在所述消息中添加指示信息,以便于接收到所述消息的處理器按照添加的指示信息對所述消息進行分類,并對分類后的所述消息進行并行處理。
在第二方面的第一種可能的實現方式中,所述指示信息包括:并行標識或串行標識。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華為終端有限公司,未經華為終端有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310504955.6/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種新型播放器
- 下一篇:檢測乙肝表面抗原的免疫層析試紙及其制備方法





