簡體   English   中英

運行函數並保持循環運行C ++

[英]Run function and keep loop running c++

如何在循環內運行一個函數,並在function2完成時不等待就保持循環運行?

int main(){
 function1();
}

function1(){
   while(1){
      function2();   }
}

function2(){
   //some task that needs to do independently while, While loop runs
}

您可以啟動function2異步:

#include <future>
void function1(){
   while(1){
      std::async(std::launch::async, function2);   
   }
}

請注意,這會生成很多實例,所有實例都調用function2() ,您可能應該限制它。

用function2產生一個新線程,然后在先前調用它的循環的function 1中啟動它們。 它應該編譯,但是會產生無限線程,並且會出問題,所以要小心。 聽起來像線程是您的解決方案

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM