码迷,mamicode.com
首页 > 其他好文 > 详细

C# 计划任务 铭轩同学原创

时间:2014-07-07 00:23:55      阅读:277      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   数据   art   for   

   计划任务 :  个人理解, 就是后台控制程序要求在一定的时间执行相应的任务.

   直接上代码:

       之前,因为工作需要. 要求每天在凌晨2:00,执行要做的数据

 

  1.1  声明一个接口 Ijob

          方法: 执行

    public interface IJob
    {
        //执行方法
        void Execute();
    }

  1.2 声明一个调度程序配置类

         属性: 任务列表 (要实行的任务) ,  时间间隔 (多久执行一次);

    /// <summary>
    /// 调度程序配置
    /// </summary>
    public class SchedulerConfiguration
    {
        private int sleepInterval;
        private List<IJob> jobs = new List<IJob>();
        public SchedulerConfiguration(int newsleepInterval)
        {
            this.SleepInterval = newsleepInterval;
        }

        /// <summary>
        /// 任务列表
        /// </summary>
        public List<IJob> Jobs
        {
            get { return jobs; }

        }
        /// <summary>
        /// 时间间隔
        /// </summary>
        public int SleepInterval
        {
            get { return sleepInterval; }
            set { sleepInterval = value; }
        }

   1.3  声明调度程序类

         方法:  开启

         属性:  调度程序配置对象

    /// <summary>
    /// 调度程序
    /// </summary>
    public class Scheduler
    {
        private SchedulerConfiguration configuration = null;
        public Scheduler(SchedulerConfiguration SchedulerConn)
        {
            Sconn = SchedulerConn;
        }

        /// <summary>
        /// 开始执行的方法
        /// </summary>
        public void Start()
        {
            while (true)
            {
                foreach (IJob job in configuration.Jobs)
                {
                    ThreadStart _threadDelegate = new ThreadStart(job.Execute);
                    Thread _thread = new Thread(_threadDelegate);
                    _thread.Start();
                    Thread.Sleep(configuration.SleepInterval);
                    
                }
            }
        }

        /// <summary>
        /// 调度程序配置信息
        /// </summary>
        public SchedulerConfiguration Sconn
        {
            get { return configuration; }
            set { configuration = value; }
        }

  1.4   实现 : Ijob接口

 class person : IJob
    {

        void IJob.Execute()
        {
            ThreadTest();
        }
        public void ThreadTest(){
              //......
        }
    }        

 1.5  在程序入口(主线程)  运行

       public static System.Threading.Thread schedulerThread = null;
        static void Main(string[] args)
        {
            //调度程序配置(每小时执行一次)
            SchedulerConfiguration config = new SchedulerConfiguration(1000 * 60 * 60);
            //给配置添加工作
            config.Jobs.Add(new person());
            //调度程序
            Scheduler scheduler = new Scheduler(config);
            //执行线程
            schedulerThread = new System.Threading.Thread(new ThreadStart(scheduler.Start));
            schedulerThread.Start();
        }

 这样, 一个简单的计划任务,就实现了.

 

C# 计划任务 铭轩同学原创,布布扣,bubuko.com

C# 计划任务 铭轩同学原创

标签:style   blog   color   数据   art   for   

原文地址:http://www.cnblogs.com/mingxuantongxue/p/3822460.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!