MUTual EXclusions (gegenseitiger Ausschluss) dienen dazu, Ressourcen, also Code - Fragemente im RAM, für Threads exklusiv zu reservieren. Ein Mutex kann immer nur von einem Thread belegt sein - versuchen weitere Threads diesen Mutex für sich zu beanspruchen (pthread_mutex_ lock), werden diese blockiert, bis der aktuelle Besitzer den Mutex wieder freigibt (pthread_mutex_unlock). Da die Belegung atomar erfolgt, ist auch sichergestellt, dass immer nur ein Thread einen Mutex zur selben Zeit belegen kann.
Bedingungsvariablen für Mutexe dienen dazu, auf ein bestimmtes Ereignis zu warten, beziehungsweise dessen Eintreffen anzuzeigen. Sie dienen zum Synchronisieren von Thrads. Bedingungsvariablen sind an Mutexe angekoppelt um sicherzustellen, dass die Bedingungen immer nur von einem Thread zu einer Zeit geändert werden können. Ändert sich eine Bedingungsvariable, so wird z.B. mit pthread_ cond_broadcast() diese Information an die wartenden Threads weitergeleitet, deren Funktion pthread_cond_wait() darauf schon wartet. FUTEXe (Fast User muTEXe)************* Mutex, Futex
| Zurück | Inhaltsangabe | Weiter |
| ULIMIT | Nach oben | Semaphoren Prozess-Synchronisation |