Angenommen, Sie haben einen Elternprozess, der zwei Kinder verarbeitet.Wie wird zwischen gespaltenen Prozessen mit Semaphoren umgeschaltet?
Sie möchten, dass die drei Prozesse in der Reihenfolge (zuerst ein Kind, dann das andere Kind, dann das Eltern) etwas tun, bis eine Stoppbedingung erreicht ist.
Um diese Reihenfolge zu erreichen, müssen Semaphore verwendet werden.
Meine Frage ist, wie man zwischen den drei Prozessen wechselt. Mit anderen Worten, wie identifizieren Sie, dass ein bestimmter Prozess ausgeführt wird, und verwenden Sie die Semaphore, um sicherzustellen, dass kein Prozess zweimal hintereinander ausgeführt oder übersprungen wird. Ich verstehe, dass ein Semaphor verwendet werden kann, um zu "blockieren", bis das Signal erreicht ist, aber ich verstehe nicht, wie ich dieses Konzept verwenden kann, um meine drei Prozesse in Ordnung zu bringen.
was hast du bisher probiert? Können Sie die Beispielimplementierung dieses Verhaltens teilen? – catzilla
Haben Sie schon ein Semaphor in einem Produzenten-Verbraucher-Muster verwendet? Überlegen Sie, was passiert, wenn Sie drei Producer-Consumer-Warteschlangen mit Semaphoren erstellen. – nneonneo