Ich muss mehrere Threads synchronisieren (mit POSIX-Threads). Außerdem verwende ich Zustandsvariablen (Monitore), um dies zu erreichen.Synchronisieren von Threads mit Bedingungsvariablen (Monitoren)
Das Problem ist, dass ich eine "first come first served" Strategie implementieren muss. Angenommen, mehrere Threads warten darauf, dass ein anderer Thread diese Zustandsänderung signalisiert. Setzt der Aufruf pthread_cond_wait
die Threads selbst in eine Warteschlange oder sollte ich eine explizite Warteschlange definieren, um dies zu erreichen? Eine mögliche Lösung hierfür könnte auch die Verwendung von Sperren sein.
Was ist die "first come first served" Strategie? Die Threads oder die von ihnen erzeugten Daten? Wenn es um Threads geht - überdenken Sie Ihr Design (es sei denn, es ist eine akademische Aufgabe zu beweisen, dass Sie wissen, was Sie tun). Wenn es um Daten geht - einfach die Daten in die Warteschlange stellen und die Warteschlange verarbeiten. – ArturFH