延遲逾時

關於這項作業

下列序列圖顯示延遲的逾時。

若要排程延遲,請執行下列動作:

程序

  1. OMDelay 建構子會建立延遲。
  2. set 方法會將逾時要求委派給 OMTimerManager
  3. 延遲會等待直到逾時結束,到時會呼叫 timeTickCbk 方法(專用)。timeTickCbk 方法會對累計或現行時間 m_Time 進行增量。
  4. timeTickCbk 方法會呼叫 post(專用以從資料堆取得下一個排程的逾時要求、修整資料堆,以及將逾時移至到期的清單。
  5. action 方法會將到期的逾時要求傳送至相關的執行緒,它接著會在其中插入執行緒的事件佇列。因為逾時是延遲 (isNotDelay = False),所以執行緒是接收端。
  6. action 方法會呼叫 getDestination,其會傳回 destination 屬性(OMReactive 實例)的現行值。
  7. action 方法會呼叫 wakeup,其會在延遲時間過期後回復處理程序。
  8. signal() 實際上會在事件旗標上起動執行緒區塊處理。

意見回饋