計時器物件具有堆疊的概念。Slack 定義系統可能如何修改計時器期限。Slack 可讓系統內部凝聚計時器和類似計時器的事件,以改善效能或效率。
Slack 是由「類型」和「數量」這兩個元件組成。類型說明如何套用 Span:
- ZX_TIMER_SLACK_CENTER 允許在較早或較晚的計時器之間啟用共乘功能。
- ZX_TIMER_SLACK_EARLY 聯結功能只能搭配較早的計時器使用。
- 只有較晚的計時器才能使用 ZX_TIMER_SLACK_LATE 聯結功能。
允許與期限相差的金額。例如,帶有 ZX_TIMER_SLACK_EARLY 和 5us 的計時器可在期限前觸發最多 5us。包含 ZX_TIMER_SLACK_CENTER 和 7 毫秒的計時器可能會在其截止期限前 7 毫秒,到 7 毫秒後觸發任何活動。
類似計時器的系統
Slack 也可以套用至接受期限引數 (例如 zx_nanosleep()
) 的系統呼叫。
預設值和工作政策
對於計時器物件,系統會在建立及設定計時器時指定 slack。至於其他需要期限但沒有任何精簡參數的系統呼叫,則由工作政策指定封裝類型和數量。請參閱「zx_job_set_policy()
」。