c#定时期调用方法
来源:互联网 发布:mt4软件下载 编辑:程序博客网 时间:2024/06/07 01:51
- using System;
- using System.Collections.Generic;
- using System.Text;
- using System.Threading;
- namespace ConsoleApplication1
- {
- class CStatusChecker
- {
- //执行次数计数,初始为0,内部使用
- private int m_nInvoikeCount = 0;
- //所需要执行的最大次数
- private int m_nMaxCount;
- public int MaxCount
- {
- get{return m_nMaxCount;}
- }
- public CStatusChecker(int count)
- {
- m_nMaxCount = count;
- }
- //状态检查函数
- public void CheckStatus(object stateInfo)
- {
- AutoResetEvent autoEvent = (AutoResetEvent)stateInfo;
- Console.WriteLine("{0} 检查正在在进行 第{1}次.", DateTime.Now.ToString("HH:mm:ss.fff"), m_nInvoikeCount.ToString());
- m_nInvoikeCount++;
- //检查是不已经完成
- if (m_nInvoikeCount == m_nMaxCount)
- {
- m_nMaxCount = 0;
- //设置事件通知
- autoEvent.Set();
- }
- }
- }
- class Program
- {
- static void Main(string[] args)
- {
- //时间对象,用于检查线程之间通信
- AutoResetEvent autoEvent = new AutoResetEvent(false);
- //构造检查对象,指定执行10次任务
- CStatusChecker objChecker = new CStatusChecker(50);
- //创建委托,指定任务所需要执行的方法
- TimerCallback objCallback = new TimerCallback(objChecker.CheckStatus);
- //启动定时器
- Console.WriteLine("{0} 检查工作开始,共{1}次.", DateTime.Now.ToString("HH:mm:ss:fff"), objChecker.MaxCount);
- //在一秒种后触发,以后每两秒执行一次
- Timer objTimer = new Timer(objCallback, autoEvent, 1000, 2000);
- //等待任务结束,如果10秒钟还未结束视为超时
- autoEvent.WaitOne(10000, false);
- //修改定时器间隔,改为1秒一次
- objTimer.Change(0, 100);
- autoEvent.WaitOne(30000, false);
- //释放定时器占有的资源
- objTimer.Dispose();
- Console.WriteLine("{0} 检查工作结束.", DateTime.Now.ToString("HH:mm:ss:fff"));
- Console.Read();
- }
- }
- }
0 0
- c#定时期调用方法
- C#定时调用方法 (线程)
- Java定时任务--定时调用方法(servlet)
- Java定时任务--定时调用方法(servlet)
- js定时调用方法并停止调用
- C# 定时执行一个方法
- C# 定时执行一个方法
- java 定时调用方法,有结果返回
- 定时调用WebService方法同步数据
- linux定时任务调用java方法
- C#调用DLL方法
- C#动态方法调用
- C#异步方法调用
- C#动态方法调用
- C#异步方法调用
- C#调用dll方法
- C#远程调用方法
- C# 批处理调用方法
- MySQL性能优化之参数配置
- Android数据库高手秘籍(三)——使用LitePal升级表
- 边看电视边玩手机可能会让你得抑郁症
- PB 中messagebox的使用方法
- iPhone开发笔记(11)用ASIFormDataRequest实现图片上传
- c#定时期调用方法
- Android数据库高手秘籍(四)——使用LitePal建立表关联
- golang 组合算法
- iPhone开发笔记(9)ASIHttpRequest和json-framework实现json解析(iOS客户端)
- 1012. The Best Rank (25)——PAT (Advanced Level) Practise
- Eclipse快捷键
- ——谈VC++对象模型
- 【android】网络定位服务NetworkLocationProvider
- 好好学习Linux