1.System.Timers命名空间下的Timer类。System.Timers.Timer类:定义一个System.Timers.Timer对象,然后绑定Elapsed事件,通过Start()方法来启动计时,通过Stop()方法或者Enable=false停止计时。AutoReset属性设置是否重复计时(设置为false只执行一次,设置为true可以多次执行)。Elapsed事件绑定相当于另开了一个线程,也就是说在Elapsed绑定的事件里不能访问其它线程里的控件(需要定义委托,通过Invoke调用委托访问其它线程里面的控件)。

System.Timers.Timer MTM_Timer;

//定义作业执行时间
private readonly double MTM_Interval = Convert.ToDouble(ConfigurationManager.AppSettings["MTMShareCountryMain"]);
private static int RunFlag = 0;

//定义固定时间执行
private readonly int EXECMTMShareCountry = Convert.ToInt32(ConfigurationManager.AppSettings["EXECMTMShareCountry"]);

public void MTMShareCountryMain()
{

RunFlag = 0;

if (MTM_Timer == null)
{
RunFlag = 0;
MTM_Timer = new System.Timers.Timer();

//周期时间
MTM_Timer.Interval = MTM_Interval;

//到达时间的时候执行事件
MTM_Timer.Elapsed += new System.Timers.ElapsedEventHandler(MTMShareCountry);

//是否执行Elapsed事件
MTM_Timer.Enabled = true;

//设置是执行一次(false)还是一直执行(true)
MTM_Timer.AutoReset = true;

//启动作业
MTM_Timer.Start();
}

}
private void MTMShareCountry(object sender, System.Timers.ElapsedEventArgs e)
{
if (DateTime.Now.Hour == EXECMTMShareCountry)//判断当前时间与定义时间是否一致
{
if (RunFlag == 1)
return;
RunFlag = 1;

try
{
InitializeShareCountry();//调用后台方法
}
catch (Exception ex)
{

}
finally
{
RunFlag = 0;
}

}
}

转载于:https://www.cnblogs.com/i-cheng/p/10018801.html

System.Timers.Timer(定时器)相关推荐

  1. C#中System.Timers.Timer定时器的使用和定时自动清理内存的应用

    项目比较大有时候会比较卡,虽然有GC自动清理机制,但是还是有不尽人意的地方.所以尝试在项目启动文件中,手动写了一个定时器,定时清理内存,加快项目运行速度.仅供大家参考吧,代码如下: public cl ...

  2. System.Timers.Timer与System.Threading.Timer

    我最近一直在查看一些可能的计时器,而Threading.Timer和Timers.Timer对我来说是必要的(因为它们支持线程池). 我正在制作游戏,我计划使用不同类型的活动,间隔不同等. 哪个最好? ...

  3. 使用System.Timers.Timer类实现程序定时执行

    在C#里关于定时器类有3个:System.Windows.Forms.Timer类.System.Threading.Timer类和System.Timers.Timer类. System.Windo ...

  4. System.Threading.Timer 定时器的用法

    System.Threading.Timer 是C# 中的一个定时器,可以定时(不断循环)执行一个任务.它是在线程上执行的,具有很好的安全性.为此  .Net Framework 提供了5个重载的构造 ...

  5. [C#]System.Timers.Timer

    摘要 在.Net中有几种定时器,最喜欢用的是System.Timers命名空间下的定时器,使用起来比较简单,作为定时任务,有Quartz.net,但有时候,一个非常简单的任务,不想引入这个定时任务框架 ...

  6. System.Timers.Timer的Enable、Start、Stop记录

    Timer的初始化,此时不执行theout3方法 System.Timers.Timer time = new System.Timers.Timer(); time.Interval = 1000; ...

  7. C# System.Timers.Timer中的坑,程序异常退出后timer依然运行问题

    C# System.Timers.Timer中的坑,程序异常退出后timer依然运行问题 参考文章: (1)C# System.Timers.Timer中的坑,程序异常退出后timer依然运行问题 ( ...

  8. System.Timers.Timer 多线程问题[转]

    已解决问题] System.Timers.Timer 多线程 ,同时首次进 声明: System.Timers.Timer timer = new System.Timers.Timer(); tim ...

  9. System.Windows.Forms.Timer与System.Timers.Timer的区别

    .NET Framework里面提供了三种Timer: System.Windows.Forms.Timer System.Timers.Timer System.Threading.Timer VS ...

  10. System.Timers.Timer 嵌套 System.Windows.Forms.Timer的问题

    如题"System.Timers.Timer 嵌套 System.Windows.Forms.Timer的问题",最近在项目中在类uc_Map中启用了System.Timers.T ...

最新文章

  1. python批量删除特定字符_根据某个特定字符删除一行
  2. python软件下载路径问题-mac上Python安装和修改Python默认路径遇到的问题
  3. 转载:js拖拽文本文档并读取内容到textarea
  4. [ARM-assembly]-汇编示例:c语言翻译成汇编
  5. h5支付不能打开支付宝 ios_IOS H5支付调起微信支付宝客户端问题总结
  6. lnmp下配置虚拟主机
  7. 初始Bootstrap
  8. linux mariadb 乱码,MariaDB插入中文数据乱码解决过程
  9. 做过leader,会数仓,项目经验丰富,能值多少钱?
  10. Visual Studio 中常用的快捷键
  11. c# 子窗口与父窗口之间的传值
  12. 关于RecyclerView(一)基本使用
  13. 网路岗v1.2简单使用
  14. 手机安全卫士------查询号码归属地
  15. 1.2编程基础之变量定义、赋值及转换
  16. android 黄金颜色,金光闪闪-六款经典款黄金首饰推荐
  17. 公务员行测常识积累(持续更新中)
  18. 100天精通Andriod逆向——第6天:Andriod 开发入门
  19. iPhone12充电头怎么选
  20. h5页面苹果手机不兼容普通点击事件

热门文章

  1. Machine Learning系列实验--SoftMax Regression
  2. 2021-08-04 模糊查询
  3. 数据库 并发 悲观锁 乐观锁 是什么 区别
  4. java并发编程(7)-- 线程 自旋锁
  5. Hyperledger Fabric的区块结构 交易结构
  6. java提前多久显示,Java当前日期/时间比原始时间提前1小时显示
  7. centos 6.5 编译php mysql5.6_CentOS6.5 编译安装PHP5.6(apache模块)
  8. Java数据类型从小到大排序_编写一个字符串排序程序,对一个字符串的数值进行从小到大的排序,要求使用包装类对数值类型的字符串转换成整型进行排序...
  9. mysql的驱动connect放在哪里_十年测试解析:ddt结合excel,csv,mysql实现自动化测试数据驱动...
  10. linux文件权限中 chmod、u+x、u、r、w、x分别代表什么