使用超时触发器

超时触发器的语法为 tm(<表达式>),其中 <表达式> 是时间单位数。

关于此任务

缺省时间单位是毫秒。时间单位及根据节拍计时器的操作系统适配器实现设置的。进入原点状态 (s1) 时,将安排超时。如果在超时时间耗尽前退出原点状态,那么将取消超时。

超时触发器

如果服务质量 (QOS) 的准确性要求与跟进超时准确性一致,那么您可以使用超时机制 (tm())。超时发生时,它将插入到反应实例的相关事件队列中。超时的耗尽时间取决于实际系统状态。超时的发生依赖于三个因素:

过程

  1. 超时请求时间 (T)
  2. 节拍计时器分辨率 (R)

    分辨率是指系统检查是否存在已到期超时的频率。

  3. 超时等待时间 (L)

    某些操作系统适配器的节拍计时器实现是同步的(使用 sleep(时间间隔) 调用)。此实现意味着,存在内置的等待时间(处理已到期的超时需要耗用的时间)。如果超时较长(涉及多个计时器节拍),那么此等待时间也会较长。

    以下公式确定超时的到期时间:

          [(T+L)-R,(T+L)+R]
    注: 如果在同一状态图中使用触发式操作和事件(包括超时),并且可以从有别于事件耗用线程的线程中运行的对象中调用该触发式操作,那么可能会引起赛跑情况。为了避免发生赛跑情况,请对触发式操作设置警戒条件(这还可以避免具有超时的赛跑)。

反馈