Ich habe den folgenden Code als meine Hauptfunktion:Wie kann ich eine Funktion mehrmals gleichzeitig ausführen lassen?
int main(int argc,char** argv)
{
CommandLineParser cmd(argc,argv,keys);
if (cmd.has("help")) {
cmd.about("");
cmd.printMessage();
return 0;
}
String alphaFile = cmd.get<String>("alpha");
String betaFile = cmd.get<String>("beta");
String gammaFile = cmd.get<String>("gamma");
String deltaFile = cmd.get<String>("delta");
int featureToUse = cmd.get<int>("feature");
int classifier = cmd.get<int>("classifier");
runOnSingleCamera(alphaFile, featureToUse, classifier);
runOnSingleCamera(betaFile, featureToUse, classifier);
runOnSingleCamera(gammaFile, featureToUse, classifier);
runOnSingleCamera(deltaFile, featureToUse, classifier);
return 0;
}
runOnSingleCamera ist eine meiner anderen Funktionen, und jeder Anruf läuft die gleiche Sache auf verschiedene Video-Dateien. Der Code muss für alle Videodateien gleichzeitig ausgeführt werden und auf dasselbe globale Array zugreifen.
Was wäre der beste Weg, dies zu tun?
Wenn die Lösung Multithreading ist, geben Sie bitte an, was in meiner cmake-Datei enthalten sein sollte, da ich damit experimentiert habe, es aber nicht zum Laufen bringen konnte.
Siehe die Beispiele für 'std :: thread' http://en.cppreference.com/w/cpp/thread/thread/thread –