Chinaunix首页 | 论坛 | 博客
  • 博客访问: 455031
  • 博文数量: 724
  • 博客积分: 40000
  • 博客等级: 大将
  • 技术积分: 5010
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-13 14:47
文章分类

全部博文(724)

文章存档

2011年(1)

2008年(723)

我的朋友

分类:

2008-10-13 17:19:00

snowapex:好文章,受益非浅,有时间研究一下!
(发表于2004-11-24 11:26:00)

guojian:LARGE_INTEGER litmp; 
       LONGLONG QPart1,QPart2;
       double dfMinus, dfFreq, dfTim; 
       QueryPerformanceFrequency(&litmp);
       dfFreq = (double)litmp.QuadPart;// 获得计数器的时钟频率
       QueryPerformanceCounter(&litmp);
       QPart1 = litmp.QuadPart;// 获得初始值
       do
       {
/////////////////
window多任务,在这里发生了任务切换,执行时间2ms
请问,你的语句还能达到想要的定时精度吗?
或者某一个驱动程序正好执行,但用了2ms,能行吗?
////////////////
          QueryPerformanceCounter(&litmp);
          QPart2 = litmp.QuadPart;//获得中止值
          dfMinus = (double)(QPart2-QPart1);
          dfTim = dfMinus / dfFreq;// 获得对应的时间值,单位为秒
       }while(dfTim<0.000001);
(发表于2004-11-24 13:20:00)

tyj_yy:外行, 对于一个多任务操作系统, "精确"计时是不可能的
(发表于2004-11-24 13:58:00)

fanyong2314:以上所有的定时精度都不会高!
(发表于2004-11-25 9:03:00)

stridegfm:要实现精确定时还是要做个硬件定时卡可实现微秒级定时
(发表于2004-11-25 10:52:00)

fllsm:新手上路,对我的帮助还是很大的
(发表于2004-11-27 1:00:00)

RedApple:多任务/多线程系统中,在应用程序级谈高于30ms的定时都是外行,要在驱动程序级来考虑。高于1us的定时要驱动程序与硬件结合来实现。
(发表于2004-11-28 1:16:00)

_weiming_:如果真的需要精确定位在毫秒级,可能Windows不是最好的选择。除非像第一位说的,驱动程序结合硬件实现
(发表于2004-12-1 9:40:00)

fastxyf:好文章,windwos下的定时其本都全了
TO:tyj_yy:"精确"计时是不可能的,精确是相对,你相精确到多少?你能做出更好的吗?多任务就不行了吗?你把优先级调高了,还是很精确的,我用过timeGetTime,其本可以定们到1ms
TO:guojian
"window多任务,在这里发生了任务切换,执行时间2ms"
定时应该没错,因为CPU不会连续让他运行2ms,CPU的时间片很小,只要定时的间隔大于计数器的时钟频率和CPU的时间片,应该是可以的.计数器的时钟频率和CPU的时间片好像是相关的(个人认为)

(发表于2004-12-2 10:34:00)

guojian:以下是个人想法:
   首先,在应用程序级做精确定时是相当艰难的。
   这里面很多因素要考虑:比如多任务操作系统固有的任务切换;其他驱动程序的CPU时间的抢占;高优先级应用程序的执行;不确定的操作系统的作业任务分配规则(其实低优先级的线程也可以获得运行)等等许多问题,都可以导致定时的不精确。
  其实,即使在驱动程序级别要想做到精确定时也非易事,这里面还有定时间隔的准确度和精度问题。直接采用计算机的原有硬件,由于计算机的个体差异,会导致定时精度在总体上难以保障。所以,要提高精度,许多人还是采用了专用外围定时集成电路的方法。通过驱动程序和硬件相结合,以达到高精度的定时。


(发表于2004-12-2 11:37:00)

ot512:写得很好....谢谢..
(发表于2004-12-6 12:12:00)

hkbs_1121:不错,很全面
(发表于2005-3-31 13:44:00)

153375424:你好,我是数据库编程的初学者,请问当点击一个按钮进入下一页面的时候有时总是会出现一个错误:提示指针错误或者检查记录出错,但还是能进入下一页面,请问是为什么?
还有就是无效的游标状态又是怎么回事??

(发表于2005-11-28 0:18:00)

153375424:你好,我是数据库编程的初学者,请问当点击一个按钮进入下一页面的时候有时总是会出现一个错误:提示指针错误或者检查记录出错,但还是能进入下一页面,请问是为什么?
还有就是无效的游标状态又是怎么回事??

(发表于2005-11-28 0:18:00)

lzl1010:好。我有一个程序,每1ms读一次usb设备,按开始按钮时开始读,按停止按钮停止读。按停止按钮停不下来,之后程序就没有回应了,查看cpu 使用率为100%,太占系统资源了。
(发表于2006-3-17 16:18:00)

lzl1010:我用的是第7种定时器。
(发表于2006-3-17 16:21:00)

lzl1010:找到我问题的原因了,我时间处理时间要大于周期1ms
。好东西,太精确了。
(发表于2006-3-17 16:26:00)

four:记得没错的话这篇文章应该是大连理工大学一位博士的原创。
(发表于2007-3-30 20:39:00)

wei8010:晕..........
哎..........

(发表于2007-11-26 18:17:00)

wei8010:中国科学院光电技术研究所,
大连理工大学一位博士

都好有名头啊。
(发表于2007-11-26 18:21:00)

..........................................................................
--------------------next---------------------

阅读(170) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~