Ich möchte eine Funktion in C++ parallel aufrufen, die einige Zeit wartet und einige Aufgaben ausführt. Aber ich möchte nicht, dass der Ausführungsfluss auf die Funktion wartet. Ich dachte über die Verwendung von Pthread auf einfache Weise nach, aber ich muss wieder warten bis es wieder da ist!Eine Funktion parallel aufrufen C++
void A_Function()
{
/* Call a function which waits for some time and then perform some tasks */
/* Do not wait for the above function to return and continue performing the background tasks */
}
Hinweis: Wenn ich die Funktion parallel dann im nächsten Zyklus nicht die Hintergrundaufgaben ausführen, während Aufruf, wird die Funktion mir nicht korrekte Ausgabe geben.
Vielen Dank im Voraus.
Klingt wie ein Job für 'std :: future'. –
Ich verstehe das Problem mit Pthreads nicht? –
Es gibt kein Problem mit Pthread, wenn das das Problem löst. Ich weiß nicht viel über PThreads. Was ich jetzt mache ist, einen einzelnen Thread zu erstellen und diese Funktion aufzurufen. Aber ich muss pthread_join() irgendwann richtig machen? Aber ich kann die Hintergrundaufgaben nicht bis pthread_join() blockieren. –