제한시간 지연
이 태스크 정보
다음 시퀀스 다이어그램은 지연되는 제한시간을 표시합니다.
지연을 스케줄링하려면 다음을 수행하십시오.
프로시저
OMDelay
생성자는 지연을 작성합니다.
set
메소드는 제한시간 요청을
OMTimerManager
에 위임합니다.
지연은 제한시간을 초과할 때까지(
timeTickCbk
메소드(private)가 호출되는 시점) 기다립니다.
timeTickCbk
메소드는
m_Time
(누적 또는 현재 시간)을 증가시킵니다.
timeTickCbk
메소드는
post
(private
)
를 호출하여 힙에서 다음으로 스케줄링된 제한시간 요청을 가져오고 힙을 트림한 후 제한시간을 만기 목록으로 이동합니다.
action
메소드는 만기된 제한시간 요청을 관련 스레드로 보냅니다. 여기에서 스레드에 대한 이벤트 큐에 요청이 삽입됩니다. 제한시간은 지연되므로(
isNotDelay = False
), 스레드가 수신자입니다.
action
메소드는
getDestination
을 호출하고,
destination
속성(
OMReactive
인스턴스)의 현재 값이 리턴됩니다.
action
메소드는
wakeup
을 호출하고, 지연 시간이 만기되면 처리가 재개됩니다.
signal()
은 실제로 이벤트 플래그에 대한 스레드 차단을 일깨웁니다.
상위 주제:
제한시간 초과
피드백