如何在循环内运行一个函数并在函数2完成时仍然保持循环运行而不等待?
int main(){
function1();
}
function1(){
while(1){
function2(); }
}
function2(){
//some task that needs to do independently while, While loop runs
}
答案 0 :(得分:4)
您可以启动function2
异步:
#include <future>
void function1(){
while(1){
std::async(std::launch::async, function2);
}
}
请注意,这会产生大量所有调用function2()
的实例,你应该扼杀它。
答案 1 :(得分:0)
使用function2生成一个新线程,然后在之前调用它的循环中的函数1中启动它们。它应该编译,但它会产生无限的线程,一些东西会出错,所以要小心。听起来像线程是你的解决方案