Threading.Tasks 简单的使用

Posted 代码艺术

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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)
        {

        }
    }
}

 

以上是关于Threading.Tasks 简单的使用的主要内容,如果未能解决你的问题,请参考以下文章

Unity中的异步编程——在Unity中使用 C#原生的异步(Task,await,async) - System.Threading.Tasks

Unity 文件加载失败:“System.Threading.Tasks.Dataflow”

MySQLConnector DLL 错误 System.Threading.Tasks.Extensions 链接

MathNet.Numerics 和 Parse 中的 System.Threading.Tasks 冲突

System.Threading.Tasks - 限制并发任务的数量

无法将 system.threading.tasks.task 转换为 system.collections.generic.list [重复]