zoukankan      html  css  js  c++  java
  • C# 定时器传值问题详解

    1 定时器的使用

    1.1传参数定时器

    //传参的定时器例子
    private static System.Timers.Timer aTimer;
    
     
     Main(ApprovalID);
    
     
    public static void Main(int ApprovalID)
            {
                aTimer = new System.Timers.Timer(600000); //10分钟 600000
                aTimer.Elapsed += new ElapsedEventHandler((s, e) => OnTimedEvent(s, e, ApprovalID));
                aTimer.Interval = 60000;
                aTimer.Enabled = true;
                aTimer.AutoReset = false;
            }
    
            private static void OnTimedEvent(object source, ElapsedEventArgs e, int ApprovalID)
            {
                
                //解锁申请表
                Model.Sys.ShenPiApprovalModel SQM = new ShenPiApprovalModel();
                SQM = BLL.Sys.ShenPiApprovalBLL.Instance.GetModel(ApprovalID);
                if (SQM.ApprovalState != 1)
                {
                    SQM.ApprovalState = 0;//锁定申请表
                    BLL.Sys.ShenPiApprovalBLL.Instance.UpdateJS(0, " ID=" + ApprovalID + " ");
                }
                
            }

    1.2不传参数 定时器

        System.Timers.Timer t = new System.Timers.Timer(60000);//实例化Timer类,设置间隔时间为10000毫秒;
        t.Elapsed += new System.Timers.ElapsedEventHandler(theout);//到达时间的时候执行事件;
        t.AutoReset = false;//设置是执行一次(false)还是一直执行(true);
          t.Enabled = true;//是否执行System.Timers.Timer.Elapsed事件; 
    
     
           //定时器函数
            public void theout(object source, System.Timers.ElapsedEventArgs e)
            {
                Model.User.UserModel userM = new Model.User.UserModel();
                var MM = BLL.User.UserBLL.Instance.GetModel(6326);
                MM.LinkMan = "定时器我是";
                BLL.User.UserBLL.Instance.Update(MM);
            }                    

    2 函数运行时间的记录

    2.1 根据.NET类库自带的函数。

     C#记录程序运行时间记录显示
    
     //引入命名空间
                using System.Diagnostics;
                //清空导入时间
    
                lbImportTime.Text = ""; (随便显示地方)
    
                //开始记录时间
    
                Stopwatch myWatch = Stopwatch.StartNew();
    
                //记录运行时间
    
               //====================
    
               //停止记录时间
    
                myWatch.Stop();
    
               //显示运行时间
    
                lbImportTime.Text = myWatch.ElapsedMilliseconds.ToString();

     2.1 根据.NET类库自带的函数。

    //定义一个时间对象
    
        System.Diagnostics.Stopwatch oTime = new System.Diagnostics.Stopwatch();
    
        oTime.Start(); //记录开始时间
    
        for (int i = 0; i < 100000; i++)
     
            Console.WriteLine("###");
    
        oTime.Stop(); //记录结束时间
    
        //输出运行时间。
    
        Console.WriteLine("程序的运行时间:{0} 秒",oTime.Elapsed.Seconds);
    
        Console.WriteLine("程序的运行时间:{0} 毫秒", oTime.Elapsed.Milliseconds);

    2.2根据时间函数,求时间差。

    DateTime oTimeBegin = DateTime.Now; //获取开始时间
    
        for (int i = 0; i < 100000; i++)
    
            Console.WriteLine("###");
    
        DateTime oTimeEnd = DateTime.Now; //获取结束时间
    
        TimeSpan oTime = oTimeEnd.Subtract(oTimeBegin); //求时间差的函数
    
        Console.WriteLine(oTime.ToString());
    灵台方寸莫染金,繁华尽去方显真
  • 相关阅读:
    linux的软连接和硬连接
    各种Python简单功能代码
    《财报就像一本故事书》刘顺仁(二) ——财务报表
    Atitit .h5文件上传 v3
    Atitti. 语法树AST、后缀表达式、DAG、三地址代码
    Atitit.在线充值功能的设计
    Atitit。数据库 安全性 重要敏感数据加密存储解决方案
    atitit.数据验证db数据库数据验证约束
    Atitit.提升电子商务安全性 在线充值功能安全方面的设计
    Atitit.antlr实现词法分析
  • 原文地址:https://www.cnblogs.com/zhangtaotqy/p/7127767.html
Copyright © 2011-2022 走看看