我正在尝试创建实时运行的嵌入式硬件程序意义上的 C++ 程序。我的 C++ 程序中的主循环使用了 250 毫秒的延迟时间。就像:
int main()
{
do{
doSomething();
delay(250);
}while(1)
}
主循环中的延迟对于我的程序运行至关重要。 我需要使用 5 毫秒的延迟来检查其他内容。
sideJob()
{
while(1){
checkSomething();
delay(5);
}
}
如何定义函数 sideJob 与主循环同时运行。总而言之,如果可能的话,我需要通过使用简单的函数来掌握线程处理的窍门。我正在使用 Linux。任何帮助将不胜感激。
编辑:这是我目前得到的结果,但我想同时运行 sideJob 和主线程。
#include <string>
#include <iostream>
#include <thread>
using namespace std;
//The function we want to make the thread run.
void task1(string msg)
{
cout << "sideJob Running " << msg;
}
int main()
{
// Constructs the new thread and runs it. Does not block execution.
thread t1(task1, "Hello");
//Makes the main thread wait for the new thread to finish execution, therefore blocks its own execution.
t1.join();
while(1){
printf("Continuous Job\n");
}
}
最佳答案
关于c++ - 在 C++/C 中在后台运行周期性循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25416348/