簡體   English   中英

在c ++中調用背景函數,類似於unix shell腳本

[英]call a function in background in c++ similar to unix shell scripting

我想在c ++中並行調用函數,該函數將接受輸入並執行一些格式化,驗證,增強等操作。

在unix中,我可以在循環內調用它,並將值作為參數傳遞給在BG&中運行的函數。

Shell腳本中的示例是:

echo $value | while read arg1 arg2
do
     parser arg1 arg2 &
done
wait

如何在c ++中使用/不使用多線程?

謝謝...

為了“在后台”或“並行”運行,必須使用多線程(根據特定情況在同一進程中使用多個線程,或使用多個進程)。 每當您要在后台運行某些內容時,都應創建一個新的線程/進程,並告訴它在后台運行您想要運行的代碼,並繼續在原始線程/進程中執行其余代碼。

正如其他人指出的那樣,您將必須創建一個子流程或一個線程。 這兩種技術都需要系統相關代碼。 如果您想獨立於系統並且可以訪問支持它的編譯器(我不知道沒有編譯器),則可以使用OpenMP進行多線程處理。 但是,此技術最適合所有線程執行相同操作的問題。

暫無
暫無

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

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