如何在处理上一个 Timer 事件中代码还没有执行完,下一个Timer又开始的问题? 我也提了这个问题不过到现在还没 解决,你要是解决了,请电邮[email protected]在下万分感谢!!!你也留个E_mail吧。看我们谁先解决 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用线程处理还要注意优先级的设置,我觉得如果实时性不是很强,没有必要用线程,如实时数据采集等才会用到线程.在DEPHI下面,用定时器比用线程耗费的系统资源要少很多!还要楼主提到CPU资源的问题,如果这是指CPU时间的话:当程序时刻都在处理事件时,如果没有别的进程抢占CPU时间的话.你的进程将占用全部的CPU时间.这在写处理实时数据的程序时是很正常的. 您不用timer,用延时,最好在单独的线程中procedure myThread.Execute;begin while not Terminated do begin Sleep(100) //如果您要延时在这里写 DoSomeThingHere; end;end; 线程并不能解决你的CPU被占完问题,你的算法要优化 在timer事件开的时候检查是否存在同名的互斥元,有,则认为重入,退出,否则创建一个互斥元,CreateMutex,在timer结束的时候释放掉。这样可以保证不发生重入,(但是我觉得ttimer似乎不存在冲入的问题吧?!) 求编设密码程序 delphi 怎么取出日期再分解成201105这样的格式! 怎样在一个线程中使用一个Timer? 有什麼方法能獲取某視窗裏面的值 菜鸟的算法疑问! delphi+oracle问题,用了事务后速度明显慢了. dephi高手进,接我个单 ★★★请关注基于Delphi的强大三层框架,目前已经形成了一个活跃的用户群体 难道窗体Show时窗体上的控件还没建立的吗? it is not a design time package是什么意思 转贴:痛恨Delphi的15个理由 医院的挂号统计问题,急需帮助,分数可加!!!
还要楼主提到CPU资源的问题,如果这是指CPU时间的话:当程序时刻都在处理事件时,如果没有别的进程抢占CPU时间的话.你的进程将占用全部的CPU时间.这在写处理实时数据的程序时是很正常的.
begin
while not Terminated do begin
Sleep(100) //如果您要延时在这里写
DoSomeThingHere;
end;
end;
检查是否存在同名的互斥元,有,则认为重入,退出,否则创建一个互斥元,CreateMutex,在timer结束的时候释放掉。
这样可以保证不发生重入,(但是我觉得ttimer似乎不存在冲入的问题吧?!)