交错执行两个while循环

kon*_*ona 1 c++ pthreads while-loop

我有两个传感器,我需要不断监测.两个传感器的内部工作是不同的,我需要不断检查,如下所示.

int sensorA(){
    while (true) {
    // read sensor A
    cout<<"sensorA \n";
  }
}
int sensorB(){
    while (true) {
    // read sensor B
    cout<<"sensorB \n";
  }
}
Run Code Online (Sandbox Code Playgroud)

我的问题是如何确保以交错方式读取两个传感器?像读传感器A然后传感器B然后传感器A等.

小智 7

在同一个循环中读取两个?

int sensorA();
int sensorB();
while(true){
    //read A
    count<<"sensor A \n";
    //read B
    coutn<<"sensor B \n";
}
Run Code Online (Sandbox Code Playgroud)

如果您需要不断读取它们,并且由于某种原因不能在单个传感器上读取之间的延迟,那么您将需要为每个传感器创建一个线程.


小智 6

(Euh,所以我的评论作为答案:)

只需在同一个循环中一个接一个地读取它们.

while (1) {
    read(sensorA);
    read(sensorB);
}
Run Code Online (Sandbox Code Playgroud)

类似上面的伪代码就可以了.