이 메소드는
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을 늘리면(예: 50ms까지 늘림)
타이머의 정확도가 "더" 높아지지만 해당 스레드가 개별 스레드이므로 이 스레드에서는
더 많은 CPU 시간을 이용합니다. 또한
ticktime마다 애플리케이션에서 수행하는 조치에도
시간이 걸립니다. 매우 작은 ticktime을 지정하면
시스템에서 충돌이 발생할 수 있습니다. 이 값에는 100밀리초를
사용해야 합니다.
- 생성자에서 defaultTicktime에
지정된 값을 편집한 다음 OXF 라이브러리를
다시 컴파일하여 기본 클럭 틱인 100밀리초를 변경할 수 있습니다.
- <lang>_CG::Framework에서
TimerResolution 특성을 설정하여 기본 틱 시간을 대체할 수 있습니다.
- 프레임워크에서는 maxTM을 사용하여
힙과 제한시간 만기 목록을 생성합니다. defaultMaxTM은 100입니다. 동적 프레임워크에서는
maxTM을 사용하여 정적 아키텍처를 제공할 수 있으므로
런타임 중 동적 메모리 할당을 피할 수 있습니다. 또한
정적 런타임 아키텍처를 통해 시스템을 쉽게 분석할 수 있습니다. Rational Rhapsody 정적
이벤트를 통해 런타임 중 동적 메모리 관리가 필요하지 않거나 동적 메모리 관리를 허용하지
않는 안전이 중요한 실시간 시스템을 용이하게 사용할 수 있습니다. 그러나
Rational Rhapsody에는 초기화 중 malloc이 필요하고
애플리케이션에서 동적 메모리 관리를 지원해야 합니다.
- OMTimeout 클래스 매크로는 제한시간에 대한 메모리 풀을 작성합니다.
new 연산자는 메모리 풀에서 메모리를
가져옵니다. Delete 오퍼레이션은 메모리 풀에 메모리를 리턴합니다.
- 애플리케이션의
maxTM 값을 변경하려면
defaultMaxTM 속성을 변경합니다. 또한
<lang>_CG::Framework에서 TimerMaxTimeouts 특성을 설정하여
최대 기본 제한시간 수를 대체할 수 있습니다.
- 애플리케이션에서 maxTM을 초과하고
추가 제한시간을 작성하려고 하면 리턴값은 널이 됩니다.
먼저, 시스템에 함께 존재할 수 있는 최대 제한시간 수를 지정해야 합니다.