TimeProvider.CreateTimer(TimerCallback, Object, TimeSpan, TimeSpan) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
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
。
或 period
的值dueTime
中的毫秒数为负,不等于 Infinite,或大于 Int32.MaxValue。
注解
回调参数指定的委托在经过后 dueTime
调用一次,之后每次 period
时间间隔过后调用一次。
如果 dueTime
为零,则立即调用回调。 如果 dueTime
为 -1 毫秒, callback
则不调用 ;计时器已禁用,但可以通过调用 Change(TimeSpan, TimeSpan) 方法重新启用。
如果 period
为 0 或 -1 毫秒且 dueTime
为正值, callback
则调用一次;计时器的定期行为被禁用,但可以使用 方法重新启用 Change(TimeSpan, TimeSpan) 。
当计时器仍在计划时,返回的 ITimer 实例将隐式根目录。
CreateTimer(TimerCallback, Object, TimeSpan, TimeSpan)ExecutionContext捕获 并存储与 ITimer ,以便在每次调用时调用它时使用 callback
。 可以使用 禁止 SuppressFlow()该捕获。
适用于
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈