TimeProvider.CreateTimer(TimerCallback, Object, TimeSpan, TimeSpan) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
public:
virtual System::Threading::ITimer ^ CreateTimer(System::Threading::TimerCallback ^ callback, System::Object ^ state, TimeSpan dueTime, TimeSpan period);
public virtual System.Threading.ITimer CreateTimer (System.Threading.TimerCallback callback, object? state, TimeSpan dueTime, TimeSpan period);
abstract member CreateTimer : System.Threading.TimerCallback * obj * TimeSpan * TimeSpan -> System.Threading.ITimer
override this.CreateTimer : System.Threading.TimerCallback * obj * TimeSpan * TimeSpan -> System.Threading.ITimer
Public Overridable Function CreateTimer (callback As TimerCallback, state As Object, dueTime As TimeSpan, period As TimeSpan) As ITimer
Parametry
- callback
- TimerCallback
Delegat reprezentujący metodę do wykonania, gdy czasomierz zostanie wyzwolony. Metoda powinna być ponownie uruchamiana, ponieważ może być wywoływana jednocześnie w dwóch wątkach, jeśli czasomierz ponownie zostanie wyzwolony, podczas gdy poprzednie wywołanie zwrotne jest nadal obsługiwane.
- state
- Object
Obiekt, który ma zostać przekazany do obiektu callback
. Może to być null
.
- dueTime
- TimeSpan
Czas opóźnienia przed callback
wywołaniem. Określ, InfiniteTimeSpan aby uniemożliwić uruchamianie czasomierza. Określ, Zero aby natychmiast uruchomić czasomierz.
- period
- TimeSpan
Interwał czasu między wywołaniami obiektu callback
. Określ, InfiniteTimeSpan aby wyłączyć okresowe sygnały.
Zwraca
Nowo utworzone ITimer wystąpienie.
Wyjątki
callback
to null
.
Liczba milisekund w wartości dueTime
lub period
jest ujemna, a nie równa Infinitelub jest większa niż Int32.MaxValue.
Uwagi
Delegat określony przez parametr wywołania zwrotnego jest wywoływany raz po dueTime
upływie, a następnie za każdym razem, gdy period
interwał czasu upłynie.
Jeśli dueTime
jest zero, wywołanie zwrotne jest wywoływane natychmiast. Jeśli dueTime
wartość to -1 milisekundy, callback
nie jest wywoływana; czasomierz jest wyłączony, ale można go ponownie włączyć, wywołując metodę Change(TimeSpan, TimeSpan) .
Jeśli period
wartość to 0 lub -1 milisekundy i dueTime
jest dodatnia, callback
jest wywoływana raz. Okresowe zachowanie czasomierza jest wyłączone, ale można je ponownie włączyć przy użyciu Change(TimeSpan, TimeSpan) metody .
Zwrócone ITimer wystąpienie jest niejawnie zakorzenione, gdy czasomierz jest nadal zaplanowany.
CreateTimer(TimerCallback, Object, TimeSpan, TimeSpan) przechwytuje ExecutionContext magazyny i, które mają ITimer być używane podczas wywoływania callback
za każdym razem, gdy jest wywoływana. To przechwytywanie można pominąć za pomocą polecenia SuppressFlow().
Dotyczy
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla