TimeProvider.CreateTimer(TimerCallback, Object, TimeSpan, TimeSpan) 메서드

정의

시간 간격을 측정하는 값을 사용하여 ITimerTimeSpan 인스턴스를 만듭니다.

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

매개 변수

callback
TimerCallback

타이머가 실행될 때 실행할 메서드를 나타내는 대리자입니다. 콜백에 대해 지정된 메서드는 타이머가 다시 실행되거나 이전 콜백이 여전히 처리되는 동안 두 스레드에서 동시에 호출될 수 있으므로 재진입해야 합니다.

state
Object

에 전달할 개체입니다 callback. null일 수 있습니다.

dueTime
TimeSpan

호출되기 전에 callback 지연할 시간입니다. 타이머가 시작되지 않도록 지정 InfiniteTimeSpan 합니다. 타이머를 즉시 시작하도록 지정 Zero 합니다.

period
TimeSpan

호출 사이의 시간 간격입니다 callback. 주기적 신호를 사용하지 않도록 지정 InfiniteTimeSpan 합니다.

반품

새로 만든 ITimer 인스턴스입니다.

예외

callback가 null입니다.

dueTime 의 밀리초 또는 period 음수이고 같지 Infinite않거나 같거나 보다 MaxValue큰 값의 밀리초입니다.

설명

콜백 매개 변수에 의해 지정된 대리자는 경과 후 dueTime 한 번 호출되고 그 후에는 시간 간격이 period 경과할 때마다 호출됩니다.

0이면 dueTime 콜백이 즉시 호출됩니다. -1 밀리초 callback 인 경우 dueTime 호출되지 않고 타이머를 사용하지 않도록 설정하지만 메서드를 호출 Change(TimeSpan, TimeSpan) 하여 다시 사용하도록 설정할 수 있습니다.

0 또는 -1 밀리초이고 dueTime 양수 callback 인 경우 period 한 번 호출됩니다. 타이머의 주기적 동작은 사용하지 않도록 설정되지만 메서드를 사용하여 Change(TimeSpan, TimeSpan) 다시 사용하도록 설정할 수 있습니다.

반환 ITimer 인스턴스는 타이머가 여전히 예약된 동안 암시적으로 루팅됩니다.

CreateTimer(TimerCallback, Object, TimeSpan, TimeSpan) ExecutionContext 는 호출할 때마다 호출에 사용할 수 있도록 해당 ITimer 항목을 캡처하고 callback 저장합니다. 해당 캡처는 .를 사용하여 SuppressFlow()억제할 수 있습니다.

적용 대상