Grain.RegisterTimer Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Регистрирует таймер для отправки периодических обратных вызовов в это зерно.
protected virtual IDisposable RegisterTimer (Func<object,System.Threading.Tasks.Task> asyncCallback, object state, TimeSpan dueTime, TimeSpan period);
protected IDisposable RegisterTimer (Func<object,System.Threading.Tasks.Task> asyncCallback, object state, TimeSpan dueTime, TimeSpan period);
abstract member RegisterTimer : Func<obj, System.Threading.Tasks.Task> * obj * TimeSpan * TimeSpan -> IDisposable
override this.RegisterTimer : Func<obj, System.Threading.Tasks.Task> * obj * TimeSpan * TimeSpan -> IDisposable
member this.RegisterTimer : Func<obj, System.Threading.Tasks.Task> * obj * TimeSpan * TimeSpan -> IDisposable
Protected Overridable Function RegisterTimer (asyncCallback As Func(Of Object, Task), state As Object, dueTime As TimeSpan, period As TimeSpan) As IDisposable
Protected Function RegisterTimer (asyncCallback As Func(Of Object, Task), state As Object, dueTime As TimeSpan, period As TimeSpan) As IDisposable
Параметры
- state
- Object
Объект состояния, который будет передан в качестве аргумента при вызове asyncCallback.
- dueTime
- TimeSpan
Время выполнения для первого таймера.
- period
- TimeSpan
Период последующих тактов таймера.
Возвращаемое значение
Дескриптор для этого таймера.
Комментарии
Этот таймер не предотвратит деактивацию текущего зерна. Если зерно деактивировано, таймер будет удален.
Пока задача не будет возвращена из asyncCallback, следующий таймер не будет запланирован. То есть обратные вызовы таймера никогда не пересекают их повороты.
Таймер может быть остановлен в любое время путем вызова Dispose
метода в дескрипторе таймера, возвращенного из этого вызова.
Все исключения, вызванные или неисправными задачами, возвращаемыми из asyncCallback, регистрируются, но не препятствуют тому, чтобы следующий таймер был помещен в очередь.