Posix Barrier mit erweiterten Möglichkeiten



  • Die Pthreads bieten mit der Barrier ein geniales Instrument zur Synchronisation von Threads: ich erzeuge eine Barrier mit einem Zählerwert und lasse dann verschiedene Threads auf eine Barrier-Wait-Funktion laufen. Diese gibt erst dann alle Threads wieder frei, wenn der Zählerwert erreicht ist, d.h. wenn die entsprechende Anzahl Threads dort angekommen ist.

    Die Barrier hat aber einen entscheidenden Nachteil: ich muss bei der Initialisierung bereis wissen, auf wie viele Threads ich warten will. Da die bei mir dynamisch erzeugt werden, klappt das mit der Barrier so nicht, auch ein manipulieren der pthread_barrier_t-Membes wäre ziemlich unsauber und würde Probleme machen.

    Was bleibt mir also übrig, gibt es eine dynamischere Alternative zu dieser Barrier oder wie kann ich das sonst realisieren?


Anmelden zum Antworten