제한시간 트리거 사용

제한시간 트리거는 tm(<expression>) 구문을 갖습니다. 여기서 <expression>은 시간 단위 수입니다.

이 태스크 정보

기본 시간 단위는 밀리초입니다. 시간 단위는 틱 타이머의 운영 체제 어댑터 구현을 기반으로 설정됩니다. 제한시간은 원래 상태(s1)가 입력될 때 예약됩니다. 제한시간이 초과되기 전에 원래 상태가 종료되면 제한시간이 취소됩니다.

제한시간 트리거

서비스 품질(QOS) 정확도 요구사항이 다음 제한시간 정확도를 준수하는 경우 제한시간 메커니즘(tm())을 사용할 수 있습니다. 제한시간이 초과되면 반응적 인스턴스와 관련된 이벤트 큐에 삽입됩니다. 제한시간이 초과되는 시간은 실제 시스템 상태에 따라 다릅니다. 제한시간 발생은 다음 세 가지 요인에 따라 결정됩니다.

프로시저

  1. 제한시간 요청 시간(T)
  2. 틱 타이머 해결(R)

    해결은 시스템이 만기된 제한시간이 있는지 여부를 검사하는 빈도를 지정합니다.

  3. 제한시간 지연 시간(L)

    일부 운영 체제 어댑터에 대한 틱 타이머 구현은 동기적입니다(sleep(interval)에 대한 호출 사용). 이 구현은 내장 지연 시간(만기된 제한시간을 처리하는 데 소요되는 시간)이 존재함을 의미합니다. 이 지연 시간은 제한시간이 긴 경우(여러 타이머 틱이 관련되는 경우) 중요합니다.

    다음 공식은 제한시간 만기 시점을 결정합니다.

          [(T+L)-R,(T+L)+R]
    주: 동일한 상태 차트에서 트리거된 오퍼레이션과 이벤트(제한시간 포함)를 사용하고 트리거된 오퍼레이션을 이벤트 이용 스레드 이외 스레드에서 실행 중인 오브젝트에서 호출할 수 있는 경우, 경합 상황이 발생할 수 있습니다. 경합을 방지하려면 트리거된 오퍼레이션을 보호하십시오. 이 경우 제한시간 경합도 방지됩니다.

피드백