首页 > 其他 > 详细

System.Threading.Timer

时间:2017-08-24 17:37:06      阅读:302      评论:0      收藏:0      [点我收藏+]
        /// <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会被收集垃圾。计时器仍然有效的事实并不能阻止它被收集。

 

System.Threading.Timer

原文:http://www.cnblogs.com/coder-soldier/p/7424024.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!