zoukankan      html  css  js  c++  java
  • Threading.Tasks 简单的使用

    using Lemon.Common;
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Threading.Tasks;
    using System.Timers;
    using System.Web;
    
    namespace Lemon.Stats.Web.Service
    {
        public class SynchCacheDataService
        {
            /// <summary>
            /// 定时器
            /// </summary>
            private static System.Timers.Timer TimerOne;
    
            public static void StartService()
            {
                TimerOne = new System.Timers.Timer();
                TimerOne.Interval = 1000;   //1分钟执行一次(毫秒单位)
                TimerOne.Elapsed += new ElapsedEventHandler(TimeUpdateDataTimer_Elapsed);
                TimerOne.Enabled = true;
            }
    
            /// <summary>
            /// 定时器执行事件
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private static void TimeUpdateDataTimer_Elapsed(object sender, ElapsedEventArgs e)
            {
                SynchCacheData();
            }
    
            /// <summary>
            /// 同步缓存数据事件
            /// </summary>
            /// <returns></returns>
            public static Task<int> SynchCacheData()
            {
                return Task.Run(() =>
                {
                    return SyncHelper.SyncCacheData();
                }); 
            }
        }
    }

    调用方式:

    using Lemon.Stats.Web.Service;
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.Http;
    using System.Web.Security;
    using System.Web.SessionState;
    
    namespace Lemon.Stats.Web
    {
        public class Global : System.Web.HttpApplication
        {
            protected void Application_Start(object sender, EventArgs e)
            {
                GlobalConfiguration.Configure(WebApiConfig.Register);
                GlobalConfiguration.Configure(FormatConfig.Register);
    
                //启动同步缓存数据
                SynchCacheDataService.StartService();
            }
    
            protected void Session_Start(object sender, EventArgs e)
            {
    
            }
    
            protected void Application_BeginRequest(object sender, EventArgs e)
            {
    
            }
    
            protected void Application_AuthenticateRequest(object sender, EventArgs e)
            {
    
            }
    
            protected void Application_Error(object sender, EventArgs e)
            {
    
            }
    
            protected void Session_End(object sender, EventArgs e)
            {
    
            }
    
            protected void Application_End(object sender, EventArgs e)
            {
    
            }
        }
    }
  • 相关阅读:
    dubbo学习(一)认识
    MySQL学习(九)小结
    MySQL学习(八)删除表数据
    MySQL学习(六)change-buffer
    RPC 学习(一)认识
    MySQL学习(五)事务隔离
    MySQL学习(四)死锁及死锁检测
    计算机操作系统 --- 进程和进程的上下文切换
    MySQL 学习(三)事务学习
    消息队列(七)--- RocketMQ延时发送和消息重试(半原创)
  • 原文地址:https://www.cnblogs.com/zoro-zero/p/6066627.html
Copyright © 2011-2022 走看看