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)
            {
    
            }
        }
    }
  • 相关阅读:
    1509 加长棒
    51Nod 1158 全是1的最大子矩阵
    P2953 [USACO09OPEN]牛的数字游戏Cow Digit Game
    P3384 【模板】树链剖分
    北京集训DAY3
    北京集训DAY2
    北京集训DAY1
    51Nod 1422 沙拉酱前缀 二分查找
    51Nod 1109 01组成的N的倍数
    51Nod 1043 幸运号码 数位DP
  • 原文地址:https://www.cnblogs.com/zoro-zero/p/6066627.html
Copyright © 2011-2022 走看看