zoukankan      html  css  js  c++  java
  • System.Threading.Timer

            /// <summary>
            /// 清理数据
            /// </summary>
            public void Clear()
            {
                // 立即启动计时器
                Timer tClear = new Timer((state) =>
                {
                    BLLCommon.Clear();
                });
    
    /* 若是只在构造函数中设置间隔时间,页没有这一行时,则只执行一次 */
                tClear.Change(TimeSpan.FromSeconds(0), TimeSpan.FromHours(CMMConstants.ClearInterval));
    
            }
    
    PS: 在将Timer定义成全局变量,并在程序启动方法中调用 Change 方法时,按预期执行 。  直接new一个Timer实例,只执行一次的原因是否是因为被垃圾回收器回收了 ?

    msdn上的一句话:

    只要你使用的是Timer,你必须保留对它的引用。与任何托管对象一样,当没有引用它时,Timer会被收集垃圾。计时器仍然有效的事实并不能阻止它被收集。

  • 相关阅读:
    1070 结绳
    1069 微博转发抽奖
    1068 万绿丛中一点红
    1067 试密码
    1066 图像过滤
    1065 单身狗
    CSS--文本溢出与换行
    css--滤镜filter
    css--flex布局
    css--table布局
  • 原文地址:https://www.cnblogs.com/coder-soldier/p/7424024.html
Copyright © 2011-2022 走看看