C ++ - Algorithmus mit mehreren Threads für Benachrichtigungs-Wartemuster
Ich bin auf der Suche nach Ratschlägen und Codebeispielen für eine Multithread-Implementierung unter Windows mit folgendem Algo:
Thread1: Takeinput1
, mach Arbeit, benachrichtigeThread2
, arbeite weiter. Thread2: Nimminput2
, arbeite, warte auf die Benachrichtigung von Thread2, verarbeite etwas, benachrichtigeThread3
, arbeite weiter. Thread3: Nimminput3
, arbeite, warte auf die Benachrichtigung von Thread3, verarbeite etwas, benachrichtigeThread4
, weiterarbeiten. etc. Da ich C ++ -Neuling bin, bin ich mir nicht sicher, welchen Mechanismus ich zum Senden / Empfangen von Benachrichtigungen zwischen Threads auswählen soll.
Ich habe verschiedene Ansätze erwogen:mutex
, semaphore
, critical section
, aber diese scheinen hauptsächlich zum Sperren, nicht zum Warten-Benachrichtigen.