公開了一種用于處理任務的計算機實現(xiàn)的方法。該方法包括在事件循環(huán)經(jīng)過期間調(diào)用定時迭代器,而不增殖新線程,其中該調(diào)用包括將任務列表和超時限制傳遞到定時迭代器。該方法進一步包括在如超時限制中指定的時段內(nèi)執(zhí)行任務列表中的一個或多個任務,并且在該時段之后將程序控制交給調(diào)用者。
【技術實現(xiàn)步驟摘要】
定時迭代器
本專利技術的實施例總體涉及計算機用戶界面(UI)并且更特別地涉及處理Π事件。技術背景最近,移動計算機和無線電話已經(jīng)演化成要取代主流臺式計算機。這些移動設備運行在不時充電的電池上。為了支持需要更高處理能力的應用和用途,移動設備正利用強大的處理器和支持硬件來制造。然而,這種增加的處理能力具有副作用,即需要高容量電池并且需要對電池更頻繁地充電。為了使移動設備保持輕而小,電池尺寸不能增加到超過合理的尺寸并且這些移動設備的用戶可以不總是訪問電池充電裝置。因此,延長電池充電周期將通過設計在電池上施加較少的負擔的軟件應用來證明是有益的。對于軟件應用而言,常見的是,使用多個線程實現(xiàn)任務并行。在示例性軟件應用中,許多線程可以被用作例如用于從外部服務器獲得數(shù)據(jù)的一個線程和用于傾聽用戶與示例性軟件應用的用戶界面的交互的另一個線程。如果僅有一個線程處理上述兩個示例性任務,則該應用將變得對用戶交互反應遲鈍,直到第一線程完成從外部服務器獲得數(shù)據(jù)。同時,用戶可能感覺好像該應用已經(jīng)“掛起”并且可以嘗試殺死該應用。在至少最低限度,這樣的應用設計將提供質(zhì)量降低的用戶體驗。另一方面,使用用于不同任務的多個線程將導致更高的CPU消耗并且將導致不期望的結(jié)果,即電池將需要被更頻繁地充電。而且,在一些場景中具有多個線程可能是不可能的。例如,包括遺留代碼的軟件應用可以不被修改以使用多個線程,而不使它們不穩(wěn)定。因此,所需要的是一種機制,其創(chuàng)建采用單線程的軟件模塊,該軟件模塊使得應用能夠在執(zhí)行多個任務的同時更多地響應于用戶交互。
技術實現(xiàn)思路
本專利技術的一個實施例闡述了一種用于處理任務的計算機實現(xiàn)的方法。該方法包括在事件循環(huán)經(jīng)過期間調(diào)用定時迭代器,而不增殖(spawning)新線程,其中該調(diào)用包括將任務列表和超時限制傳遞到定時迭代器。該方法進一步包括在如超時限制中指定的時段內(nèi)執(zhí)行任務列表中的一個或多個任務,并且在該時段之后將程序控制交給調(diào)用者。在另一個實施例中,公開了具有處理器和操作系統(tǒng)的移動計算設備。該移動計算設備包括處理器和操作系統(tǒng)。該移動計算設備進一步包括用戶界面控制器。該用戶界面控制器包括事件處理機和定時迭代器,其中該定時迭代器被配置成在事件循環(huán)經(jīng)過期間被調(diào)用,而不增殖新線程。定時迭代器的調(diào)用包括將任務列表和超時限制通過接口傳遞到定時迭代器。任務列表中的一個或多個任務在如超時限制中指定的時段內(nèi)被執(zhí)行。然后在該時段之后程序控制被交給調(diào)用者。在又一個實施例中,公開了一種包含程序的計算機可讀存儲介質(zhì),該程序在被執(zhí)行時執(zhí)行處理任務的操作。該操作包括在事件循環(huán)經(jīng)過期間調(diào)用定時迭代器,而不增殖新線程。該調(diào)用包括將任務列表和超時限制通過接口傳遞到定時迭代器。該調(diào)用還包括在如超時限制中指定的時段內(nèi)執(zhí)行任務列表中的一個或多個任務并且在該時段之后將程序控制交給調(diào)用者。其他實施例包括但不限于非臨時性計算機可讀存儲介質(zhì)以及被配置成實現(xiàn)所公開的方法的一個或多個方面的系統(tǒng),該非臨時性計算機可讀存儲介質(zhì)包括使得處理單元能夠?qū)崿F(xiàn)所公開的方法的一個或多個方面的指令。附圖說明因此,可以參考實施例來得到本專利技術的上述特征可被詳細理解的方式、上述簡要概述的本專利技術的更具體的描述,實施例中的一些在附圖中被示出。然而,應當注意,附圖僅圖示了本專利技術的典型示例并且因此不被認為限制其范圍,因為本專利技術可以允許其他同樣有效的實施例。圖I圖示了根據(jù)本專利技術的一個實施例的移動設備的功能元件中的一些。圖2是根據(jù)本專利技術的一個實施例的UI控制器的邏輯圖。圖3圖示了根據(jù)本專利技術的一個實施例的移動設備的示例性UI。圖4圖示了根據(jù)本專利技術的一個實施例調(diào)用定時迭代器模塊的流程圖。圖5圖示了根據(jù)本專利技術的一個實施例的定時迭代器的界面。圖6圖示了描繪根據(jù)本專利技術的一個實施例的定時迭代器的執(zhí)行的流程圖。具體實施方式在下面的描述中,闡述了許多特定細節(jié)以提供對本專利技術的更徹底的理解。然而, 本領域技術人員將會明白,本專利技術可以在沒有這些特定細節(jié)中的一個或多個的情況下被實踐。在其他實例下,眾所周知的特征未被描述,以便避免使本專利技術晦澀難懂。遍及本公開,對“一個實施例”或“實施例”的引用意味著結(jié)合該實施例描述的特定特征、結(jié)構(gòu)或特性包括在本專利技術的至少一個實施例中。因此,在遍及本說明書的各個地方短語“在一個實施例中”或“在實施例中”的出現(xiàn)并非必然地都指代相同的實施例。而且, 特定特征、結(jié)構(gòu)或特性在一個或多個實施例中可以以任何適當方式組合。圖I圖示了移動設備100的功能元件中的一些。移動設備100包括處理器120 (也被稱為中央處理單元(“CPU”)),其控制移動設備100的操作并且執(zhí)行軟件應用。連接到微處理器的是存儲器(未示出)和典型地包括在CPU中或與CPU —起被包括的其他必要組件,例如顯示器112 (比如液晶顯示器(“IXD”))、揚聲器104、麥克風108和鍵盤116。射頻 (“RF”)模塊102也耦合到微處理器,該射頻模塊實現(xiàn)由設備100使用的特定無線電通信標準,比如WiFi。從連接到RF模塊102的天線發(fā)射和接收RF信號。揚聲器104可以經(jīng)由接口 106連接到微處理器120,該接口包括視頻驅(qū)動器硬件 (包括例如放大器)和數(shù)模轉(zhuǎn)換器。接口 106的功能可以可替代地集成到微處理器中。麥克風108經(jīng)由接口 110連接到微處理器120,該接口 110包括音頻接收硬件(比如放大器)和模數(shù)轉(zhuǎn)換器。該功能再次可以被集成到微處理器120中。鍵盤116經(jīng)由編碼器接口 114連接到微處理器120。顯示器112經(jīng)由顯示驅(qū)動器接口 126連接到微處理器120。該存儲器可以包括閃存和RAM。串行接口(未示出)可以被合并以用于在微處理器上加載和更新軟件。在一個實施例中,串行接口還可以用作電源來向設備100中的電池(未示出)充電。當微處理器120在電池供電的設備內(nèi)操作時,它需要具有比通用臺式計算機內(nèi)的 (PU更低的處理能力。例如,與臺式計算機中的當代微處理器相比,手持式設備的微處理器 120典型地以明顯更低的時鐘速度工作。在一些實施例中,微處理器120可以由數(shù)字信號處理器(“DSP”)補充,該數(shù)字信號處理器可以執(zhí)行語音處理功能中的一些。這允許微處理器 120時鐘速度被減小,從而顯著地延長電池充電周期。微處理器120執(zhí)行操作系統(tǒng)(“OS”)118。在優(yōu)選實施例中,OS 118是Linux ,盡管也可以使用其他操作系統(tǒng)(例如,iOSTM、WebOSTM、Andr0idTM等)。OS 118允許程序在微處理器120上運行并且控制諸如IP棧和文件系統(tǒng)支持之類的低水平操作。運行在微處理器 120的OS 118上的是UI控制器122。UI控制器122尤其處理要通過UI模塊124而在顯示器112上再現(xiàn)的數(shù)據(jù)的處理和用戶界面再現(xiàn),該Π模塊可以是Π控制器122的一部分。 顯示器112顯示應用的用戶界面。設備100還可以包括諸如語音引擎、連接管理器、電源管理模塊等之類的組件。 圖2圖示了 Π控制器122的框圖。Π控制器122可以包括事件處理機152,其用于尤其處理響應于用戶與設備100的UI的交互而生成的事件。定時迭代器150也包括在UI控制器122中。可替代地,定時迭代器150也可以包括在耦合到OS 118的任何其他模塊中。在可替代實施例中,定時迭代器150可以被嵌入本文檔來自技高網(wǎng)...
【技術保護點】
一種用于處理任務的計算機實現(xiàn)的方法,包括:在事件循環(huán)經(jīng)過期間,調(diào)用定時迭代器,而不增殖新線程,其中該調(diào)用包括將任務列表和超時限制傳遞到定時迭代器;在如超時限制中指定的時段內(nèi)執(zhí)行任務列表中的一個或多個任務;以及在所述時段之后將程序控制交給調(diào)用者。
【技術特征摘要】
...
【專利技術屬性】
技術研發(fā)人員:JC希門尼斯,
申請(專利權(quán))人:斯凱普公司,
類型:發(fā)明
國別省市:
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。