此方法是 OMTimerManager 類別的建構子。
簽章RP_FRAMEWORK_DLL OMTimerManager (int ticktime =
OMTimerManagerDefaults::defaultTicktime,
unsigned int maxTM =
OMTimerManagerDefaults::defaultMaxTM,
OMBoolean isRealTimeModel = TRUE);
參數ticktime
指定基本系統時間計數(毫秒)。
在每個時間計數,Rational® Rhapsody® 架構及使用者應用程式會收到通知,時間已前進。
defaultTicktime 會指定預設時間計數,其在 timer.h 中定義,如下所示:
static
const unsigned defaultTicktime;
預設值會在 oxf.cpp 中如下指定:
const
unsigned OMTimerManagerDefaults::
defaultTicktime = 100;
maxTM
指定系統中可以同時存在的逾時數上限。
maxTM 的值用於建構資料堆及到期清單,以儲存逾時。
defaultMaxTM 在 timer.h 中定義,如下所示:
static const unsigned defaultMaxTM;
預設值會在 oxf.cpp 中如下指定:
const unsigned OMTimerManagerDefaults::
defaultMaxTM = 100;
isRealTimeModel
指定時間模型是即時 (TRUE) 還是模擬 (FALSE)。
附註- defaultTicktime 為 100 毫秒。
當您降低 ticktime(例如,到 50 毫秒)時,您會取得「更精細」的計時器精確度,但執行緒會耗用更多 CPU 時間(因為它是個別執行緒)。
此外,您應用程式每 ticktime 執行的動作也會花費時間。
如果您指定非常短的 ticktime,則系統可能會發生衝突。
對於此值,您應該使用 100 毫秒。
- 您可以變更預設時鐘時間計數 100 毫秒,方法是在建構子中編輯指派給 defaultTicktime 的值,然後重新編譯 OXF 程式庫。
- 您可以透過設定 TimerResolution 內容(<lang>_CG::Framework 下),來置換預設時間計數時間。
- 架構使用 maxTM,來建構資料堆及逾時的到期清單。
defaultMaxTM 為 100。maxTM 可讓動態架構提供靜態架構,因此可避免在執行時期進行動態記憶體配置。
此外,靜態執行時期架構可讓您輕鬆地分析系統。
Rational Rhapsody 靜態事件可簡化即時與安全關鍵系統,這些系統在執行時期期間,不需要(容許)動態記憶體管理。
不過,請注意,Rational Rhapsody 在起始設定期間需要 malloc,因此您的應用程式必須支援動態記憶體管理。
- OMTimeout 類別 巨集會建立逾時的記憶體儲存區。
new o運算子會從記憶體儲存區取得記憶體。
Delete 作業會將記憶體傳回記憶體儲存區。
- 若要針對您的應用程式變更 maxTM 的值,請變更 defaultMaxTM 屬性。您還可以透過設定 TimerMaxTimeouts 內容(<lang>_CG::Framework 下),來置換預設逾時數目上限。
- 如果您的應用程式超過 maxTM 且嘗試建立其他逾時,則回覆值將為 NULL。
您必須事先指定系統中可以同時存在的逾時數目上限。