文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>C# 中的计时器对比

C# 中的计时器对比

时间:2010-10-05  来源:一帆风顺 可能吗

因为在做一个软件,所以好久没写随笔了,还请大家原谅,

最近在研究VC++,和Win API,想实现一个计时器,顺便对比了C#中的计时器

c#中有三种类型的计时器,他们都能实现基本的定时操作,但在精度和实现上有略微的区别

1.System.Threading.Timer; 基于线程的计时器(创建4个新的线程,精度1ms级别)

2.System.Timers.Timer;     基于线程的计时器 (创建4个新的线程,精度1ms级别)和1差不多

3.System.Windows.Threading.DispatcherTimer;基于消息WM_Timer的计时器(不会创建新的线程 精度<1ms 但<1ms会占用大量CPU时间,E5400 50%左右)

 

1.基于线程的计时器:底层的实现:

  创建一个新的线程做死循环

     while(true)
  {
    int   CurTime   =   GetTickCount();
    while(GetTickCount()-CurTime   <   1)
    Sleep(1);//线程发的瓶颈就在这 线程Sleep的精度为1ms级别
  }

2.基于消息的计时器实现

  SetTimer API函数

  KillTimer API函数


  以及处理WM_TIMER消息即可

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载