Timer类:设置一个定时器,定时执行用户指定的函数。定时器启动后,系统将自动建立一个新的线程,执行用户指定的函数。

构造函数:Timer(TimerCallback callback, object state, int dueTime, int period)
参数说明
  callback:一个 System.Threading.TimerCallback 委托,表示要执行的方法。
  state:一个包含回调方法要使用的信息的对象,或者为 null。
  dueTime:调用 callback 之前延迟的时间量(以毫秒为单位)。指定 System.Threading.Timeout.Infinite 可防止启动计时器。指定零(0) 可立即启动计时器。
  period:调用 callback 的时间间隔(以毫秒为单位)。指定 System.Threading.Timeout.Infinite 可以禁用定期终止。

Timer.Change()方法:修改定时器的设置。(这是一个参数类型重载的方法)

示例代码:


using System;
using System.Threading; namespace ThreadExample
{
//Timer信息对象 7
class TimerObject
{
publicint Counter =;
} class App
{
publicstaticvoid Main()
{
TimerObject s =new TimerObject();
//创建委托对象TimerCallback,该委托将被定时调用
TimerCallback timerDelegate =new TimerCallback(CheckStatus);
//创建一个时间延时2s启动,间隔为1s的定时器
Timer timer =new Timer(timerDelegate, s, , ); //检查计数器值
while (s.Counter <)
{
Thread.Sleep();
} //更改timer执行周期,延时1s开始
timer.Change(, );
Console.WriteLine("Timer被加快了!"); //检查计数器值
while (s.Counter <)
{
Thread.Sleep();
} //释放Timer
timer.Dispose();
Console.WriteLine("Timer示例运行结束!");
Console.ReadLine();
} //下面是被定时调用的方法
staticvoid CheckStatus(Object state)
{
TimerObject s =(TimerObject)state;
s.Counter++;
Console.WriteLine("当前时间:{0} 计数器值:{1}", DateTime.Now.ToString(), s.Counter);
}
}
}

  程序首先创建一个定时器,延时2秒启动,每隔1秒调用一次CheckStatus()方法。当调用9次以后,修改时间间隔为500毫秒,且指定在1秒后重新开始。当计数达到19次,调用Dispose()方法删除了timer对象,终止程序。

C#多线程编程之:Timer(定时器)使用示例的更多相关文章

  1. 深入浅出Cocoa多线程编程之 block 与 dispatch quene

    深入浅出 Cocoa 多线程编程之 block 与 dispatch quene 罗朝辉(http://www.cppblog.com/kesalin CC 许可,转载请注明出处 block 是 Ap ...

  2. [Cocoa]深入浅出Cocoa多线程编程之 block 与 dispatch quene

    深入浅出 Cocoa 多线程编程之 block 与 dispatch quene 罗朝辉(http://www.cppblog.com/kesalin CC 许可,转载请注明出处 block 是 Ap ...

  3. iOS多线程编程之NSThread的使用

      目录(?)[-] 简介 iOS有三种多线程编程的技术分别是 三种方式的有缺点介绍 NSThread的使用 NSThread 有两种直接创建方式 参数的意义 PS不显式创建线程的方法 下载图片的例子 ...

  4. iOS多线程编程之NSThread的使用(转)

    本文由http://blog.csdn.net/totogo2010/原创 1.简介: 1.1 iOS有三种多线程编程的技术,分别是: 1..NSThread 2.Cocoa NSOperation  ...

  5. [转] iOS多线程编程之Grand Central Dispatch(GCD)介绍和使用

    介绍: Grand Central Dispatch 简称(GCD)是苹果公司开发的技术,以优化的应用程序支持多核心处理器和其他的对称多处理系统的系统.这建立在任务并行执行的线程池模式的基础上的.它首 ...

  6. [转] iOS多线程编程之NSOperation和NSOperationQueue的使用

    <iOS多线程编程之NSThread的使用> 介绍三种多线程编程和NSThread的使用,这篇介绍NSOperation的使用. 使用 NSOperation的方式有两种, 一种是用定义好 ...

  7. [转]iOS多线程编程之NSThread的使用

    1.简介: 1.1 iOS有三种多线程编程的技术,分别是: 1..NSThread 2.Cocoa NSOperation (iOS多线程编程之NSOperation和NSOperationQueue ...

  8. iOS 多线程编程之Grand Central Dispatch(GCD)

    介绍: Grand Central Dispatch 简称(GCD)是苹果公司开发的技术,以优化的应用程序支持多核心处理器和其它的对称多处理系统的系统.这建立在任务并行运行的线程池模式的基础上的. 它 ...

  9. Hadoop基础-Map端链式编程之MapReduce统计TopN示例

    Hadoop基础-Map端链式编程之MapReduce统计TopN示例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.项目需求 对“temp.txt”中的数据进行分析,统计出各 ...

  10. iOS多线程编程之NSThread的使用(转载)

    1.简介: 1.1 iOS有三种多线程编程的技术,分别是: 1.NSThread 2.Cocoa NSOperation (iOS多线程编程之NSOperation和NSOperationQueue的 ...

随机推荐

  1. Linux内核分析第五周 扒开系统调用的三层皮(下) (20135304 刘世鹏)

    作者:刘世鹏20135304  <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一.给MenuOS增加t ...

  2. POJ3278_Catch that cow

    一个简单的bfs题. 用结构体的目的在于保存bfs到达此处时走的步数. 不多言,上AC代码: //18:18 #include<iostream> #include<cstdio&g ...

  3. 51 Nod 1500 苹果曼和树(树形dp)

    http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1500 思路: 树形dp. 我们考虑当前结点 i ,对于结点 i ,它可以 ...

  4. json.dump()和json.load()

    import json,time # save data to json file def store(data): with open('data.json', 'w') as fw: # 将字典转 ...

  5. HTML深入探究(一)HTML入门

          HTML:超文本标记语言HyperText Markup Language,是一种用于创建网页的标准标记语言.HTML 不是一种编程语言,而是一种标记语言,标记语言是一套标记标签 (mar ...

  6. 【转】IntelliJ IDEA的光芒会盖过Eclipse吗

    作为一个资深的Eclipse用户,我想对IntelliJ IDEA做一个更为严谨的审视.JetBrains的工作人员非常的友善,并为Podcastpedia.org和Codingpedia.org这两 ...

  7. javascript之分时函数

    在一些开发场景中,我们可能会一次性向文档中注入上千个节点,在短时间内向浏览器中大量添加DOM节点可能会让浏览器吃不消,结果往往会让浏览器卡顿或吃不消,解决方案之一便是使用分时函数(timeChunk) ...

  8. mybatis的xml配置中if text判断不为0

    问题:money_search_end != ‘0’为0时依然继续执行 解决方案: 1.单个字符要用''.toString() 2.用双引号“”,当然text的引号要改为单引号‘’ <if te ...

  9. 045——VUE中组件之父组件使用scope定义子组件模板结构

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. <NET CLR via c# 第4版>笔记 第8章 方法

    8.1 实例构造器和类(引用类型) 构造引用类型的对象时,在调用类型的实例构造器之前,为对象分配的内存总是先被归零 .没有被构造器显式重写的所有字段都保证获得 0 或 null 值. 构造器不能被继承 ...