計時器任務排程器
更多...
#include <TimerScheduler.h>
計時器任務排程器
TimerScheduler 提供了一個基於時間的任務排程系統, 允許註册延遲執行的任務。此類別管理一個任務佇列, 並在指定的時間點執行相應的任務。
主要功能包括:
- 延遲任務排程(支援微秒、毫秒、秒級精度)
- 任務佇列管理
- 自動任務執行與清理
- 註
- 此類別繼承自多個介面,提供完整的容器和更新功能
- 參閱
- ufm::lang::Object
-
ufm::lang::Updatable
-
ufm::util::Container
◆ TimerScheduler() [1/2]
建構計時器排程器
使用指定的記憶體區域初始化計時器排程器。 此記憶體將用於儲存任務佇列和相關資料結構。
- 參數
-
◆ TimerScheduler() [2/2]
template<size_t N>
| ufm::util::TimerScheduler::TimerScheduler |
( |
uint32(&) | buffer[N] | ) |
|
|
inline |
建構計時器排程器(模板版本)
使用指定大小的緩衝區陣列初始化計時器排程器。 此版本提供了類型安全的陣列介面。
- 樣版參數
-
- 參數
-
| buffer | 用於排程器的 uint32 陣列緩衝區 |
◆ ~TimerScheduler()
| virtual ufm::util::TimerScheduler::~TimerScheduler |
( |
void | | ) |
|
|
overridevirtual |
解構計時器排程器
清理所有待執行的任務並釋放相關資源。 確保在物件銷毀時所有任務都被適當處理。
◆ clear()
| virtual void ufm::util::TimerScheduler::clear |
( |
void | | ) |
|
|
overridevirtual |
◆ isEmpty()
| virtual bool ufm::util::TimerScheduler::isEmpty |
( |
void | | ) |
const |
|
overridevirtual |
◆ schedule()
| bool ufm::util::TimerScheduler::schedule |
( |
Task & | task, |
|
|
uint64 | delayMicroseconds ) |
排程延遲任務(微秒精度)
將指定的任務加入排程佇列,在延遲指定微秒數後執行。 此方法提供最高精度的時間控制。
- 參數
-
| task | 要排程的任務物件 |
| delayMicroseconds | 延遲執行的微秒數 |
- 傳回值
- true 任務成功加入排程佇列
-
false 排程失敗(可能因為佇列已滿或其他錯誤)
◆ scheduleAtMilliseconds()
| bool ufm::util::TimerScheduler::scheduleAtMilliseconds |
( |
Task & | task, |
|
|
uint64 | delayMilliseconds ) |
|
inline |
排程延遲任務(毫秒精度)
將指定的任務加入排程佇列,在延遲指定毫秒數後執行。 此方法為常用的毫秒級延遲提供便利介面。
- 參數
-
| task | 要排程的任務物件 |
| delayMilliseconds | 延遲執行的毫秒數 |
- 傳回值
- true 任務成功加入排程佇列
-
false 排程失敗(可能因為佇列已滿或其他錯誤)
◆ scheduleAtSeconds()
| bool ufm::util::TimerScheduler::scheduleAtSeconds |
( |
Task & | task, |
|
|
uint64 | delaySeconds ) |
|
inline |
排程延遲任務(秒精度)
將指定的任務加入排程佇列,在延遲指定秒數後執行。 此方法為長時間延遲提供便利介面。
- 參數
-
| task | 要排程的任務物件 |
| delaySeconds | 延遲執行的秒數 |
- 傳回值
- true 任務成功加入排程佇列
-
false 排程失敗(可能因為佇列已滿或其他錯誤)
◆ size()
| virtual int ufm::util::TimerScheduler::size |
( |
void | | ) |
const |
|
overridevirtual |
返回此集合中的元素數量
如果此集合包含超過 INT_MAX 個元素,則返回 INT_MAX。
- 傳回值
- 此集合中的元素數量,範圍為 0 到 INT_MAX
實作 ufm::util::Container.
◆ update()
| virtual void ufm::util::TimerScheduler::update |
( |
void | | ) |
|
|
overridevirtual |
此類別(class) 文件是由下列檔案中產生: