W wxm337766 Unregistered / Unconfirmed GUEST, unregistred user! 2008-05-28 #1 delphi 怎么样实现1毫秒循环执行一次任务的函数?没有的我该怎么实现?? delphi 怎么样实现1毫秒循环执行一次任务的函数?没有的我该怎么实现??
B baiduan Unregistered / Unconfirmed GUEST, unregistred user! 2008-05-28 #2 n种方法: fun c (xxx); begin for if xxx then exit; sleep(100); end; end; 或者new线程,自己维护timer. api settimer好像也可以,反正很多。
n种方法: fun c (xxx); begin for if xxx then exit; sleep(100); end; end; 或者new线程,自己维护timer. api settimer好像也可以,反正很多。
无 无欲则刚 Unregistered / Unconfirmed GUEST, unregistred user! 2008-05-28 #3 放个Timer控件不就得了 或者做个线程,和楼上一样,在线程里sleep一下
张 张辉明 Unregistered / Unconfirmed GUEST, unregistred user! 2008-05-28 #4 你要的精度太高了。一般的计算机都达不到的。除非你的任务计算量很小, 有一个多媒体定时器的第三方控件,可以试试。
M Mike1234567890 Unregistered / Unconfirmed GUEST, unregistred user! 2008-05-29 #7 要想达到这个要求几乎是不可能的 不过你可以试试内核时间对象 它的精度是100讷秒,但是你的处理过程一定要远小1毫秒
X xusong168 Unregistered / Unconfirmed GUEST, unregistred user! 2008-05-29 #8 1.停止其他所有进程线程 2.本线程设置成最高优先级 3.死循环(也就是所谓的超级循环) 4.每次读CPU计数器 以判断1ms是否到时 就可以了 另一个办法不合你要求 就是写驱动程序
L lxw5214 Unregistered / Unconfirmed GUEST, unregistred user! 2008-05-29 #9 找个高精度定时器试试,如cnpack里有个,但你能让执行一次任务的函数在1MS内?
D DIGUA Unregistered / Unconfirmed GUEST, unregistred user! 2008-05-29 #10 不可能做到吧,CPU的机制无法做到的,虽然说速度很快,但也无法保证别的程序或你的程序执行都少于1毫秒啊 或许你有N核,指定其中一个只运行你的程序也许能行 呵