回 帖 发 新 帖 刷新版面

主题:请问请问!!!

界面后台始终循环运行一程序:不断的根据状态参数判断是否调用功能A,功能B.状态参数大约每1S更新一次,功能A运行一次大约5S,功能B运行一次大约3S.

状态参数的更新可以用定时器来完成,但是功能A,B的调用是不一定的,所以程序循环一次所用的时间不是确定的.怎样实现?尤其是完成功能一次的时间都超过了参数更新的定时时间?

另,这个循环应该写在程序的哪一部分里?form的事件中是否有哪一个适合这样一个在后台运行的循环?

我是菜鸟,急需帮助,谢谢各位兄弟姐妹,我的QQ:9511512,谢!!!

回复列表 (共4个回复)

沙发

拜托各位拉!!!

板凳

Timer1时间间隔设为1000ms
OnTime里面这么写可以吗?
para = getPara();
Timer1->Enabled = false;
if(para...)
  A();
else
  B();

A和B函数里面Timer2->Enabled = true;

3 楼

不过这样就不是后台
后台还是用多线程

4 楼

那么,如果用多线程:
譬如,两个线程,第一个线程中设定参量a,
a=0时,第二个线程不动作
a=1时,第二个线程执行功能
应该用什么函数或者命令?
有没有这样的可能性:第一个线程不断循环,有可能第二个线程的功能还没有操作完成,第一个线程因为判断a=1又使得第二个线程动作?如果有,怎么避免?

我来回复

您尚未登录,请登录后再回复。点此登录或注册