Gast
2007-10-25, 15:27:25
Hallo
ich beschäftige mich gerade mit thread Synchronisation und Kommunikation - dabei lese ich etwas über Barriers. Während ich den Nutzen von mutexes, guards, semaphores verstehe, bin ich unsicher wo man Barrieren wirklich brauchen kann.
An eine Barriere laufen alle Threads (bzw. alle gewollten) auf und warten bis alle die Barriere erreicht haben. Nur zur Synchronisation hat man damit doch auch keine gesicherte Aussage, denn ab dem weiterlaufen kann es ja wieder beliebig weitergehen.
An welcher Stelle kann es Sinn machen Threads auf eine Barriere auflaufen zu lassen und sich nicht einfach weitermachen zu lassen und sie erst bei einer geteilten Ressource möglicherweise zu bremsen? Mir will kein Szenario einfallen, wo dies von Vorteil sein kann.
ich beschäftige mich gerade mit thread Synchronisation und Kommunikation - dabei lese ich etwas über Barriers. Während ich den Nutzen von mutexes, guards, semaphores verstehe, bin ich unsicher wo man Barrieren wirklich brauchen kann.
An eine Barriere laufen alle Threads (bzw. alle gewollten) auf und warten bis alle die Barriere erreicht haben. Nur zur Synchronisation hat man damit doch auch keine gesicherte Aussage, denn ab dem weiterlaufen kann es ja wieder beliebig weitergehen.
An welcher Stelle kann es Sinn machen Threads auf eine Barriere auflaufen zu lassen und sich nicht einfach weitermachen zu lassen und sie erst bei einer geteilten Ressource möglicherweise zu bremsen? Mir will kein Szenario einfallen, wo dies von Vorteil sein kann.