我应该重用计时器还是按需分配新的计时器?许多睡眠定时器是否timer.Change(Timeout.Infinite, Timeout.Infinite)消耗资源?
PS:我说的是System.Threading.Timer课堂
不,在.NET框架的当前实现中,更改为无限超时的计时器不会消耗系统资源(用于存储实例本身的内存除外),因为它们实际上是从内部计时器队列中删除的:
if (dueTime == Timeout.UnsignedInfinite)
{
TimerQueue.Instance.DeleteTimer(this);
success = true;
}
Run Code Online (Sandbox Code Playgroud)
引用自参考资料来源
| 归档时间: |
|
| 查看次数: |
137 次 |
| 最近记录: |