判断一次就一直执行的判断语句如何实现?

(已解决!)我想用C++实现下面这个功能,不知道怎么写代码。我不是程序猿,是使用openfoam做模拟遇到一个问题,想看看大家有什么想法,谢谢!

感觉问题没讲清楚,我修改一下:

程序是每0.01s执行一次,其中有一小段控温的代码

if(T>300){A}else{B}

######然后我希望仅仅这一小段代码每0.5s判断一次,就是0s、0.5s、1.5s...做一次判断,然后0-0.5s、0.5s-1s...就一直执行A或者B
######

我是这样想的,但是不行

for(double t =0;t<50;t=t+0.5)
{
if(runTime.value()==t and T<300)//runTime.value()获取当前时间
{
if(t <= runTime.value() < t+0.5) {A}
//如果0s温度<300度,那么0-0.5s都执行A
}
if(runTime.value()==t and T>=300)
{
if(t <= runTime.value() < t+0.5) {B}
}
}

策略可以有多种:

  1. 使用sleep 函数,sleep、msleep、usleep
  2. 使用定时器,例如poll、epoll

感觉你不知道自己在说什么呀,你知道0.5s如果一直执行,能执行多少次吗,按2GHz算,0.5s能执行10亿次

已解决,谢谢大家!


bool flag ;
for (double t = 0;t<100;t=t+0.5)
{
if (t <= runTime.value() < t+0.5)
  {
  if (T > 300 and runTime.value() == t)
  {flag = true;}
  if (T <= 300 and runTime.value() == t)
  {flag = false;}
  }
}
if(flag){A}
if(!flag){B}