Hi Ich bin gerade dabei ein Buch von IntelPress mit den Titel "Multicore Programmierung" zu lesen und bei einen Beispiel verstehe ich die verwendung der Mutexe nicht ganz. Das Beispiel ist in Listing 5.13 auf Seite 121 zu finden falls jemand das Buch hat. Irgendwie schliesen sich in einen Augen die drei Threads durch das sperren des Mutex gegenseitig aus aber anscheinend tun sie das nicht. Falls jemand das Buch zuhause hat kann er ja bitte nachsehen und mir das erklären?! Den Code reiche ich noch nach. Es gibt in den Beispiel einen Hauptthread welcher zwei weitere Threads erzeugt. in den beiden Threads wird als erste Schritt ein Mutex gesperrt mit pthread_mutex_lock. Nachdem beide das selbe Mutex sperren sollte doch ein thread das Mutex erhalten und der zweite bei den Befehl blokieren und erst weiterkommen wenn der vorige das Mutex wieder frei gibt oder? Aber anscheinend ist es nicht so und so sperrt der Hauptthread nach den starten der beiden anderen Threads auch noch mal das Mutex. Und laut Beschreibung ist es so als ob aller drei das Mutex bekommen?! Mfg fresh
Ich hab das Buch nicht, aber: fresh schrieb: > Nachdem beide das selbe Mutex sperren sollte doch ein thread das Mutex > erhalten und der zweite bei den Befehl blokieren und erst weiterkommen > wenn der vorige das Mutex wieder frei gibt oder? Ja, das ist die Idee bei Mutexes. > Aber anscheinend ist es nicht so und so sperrt der Hauptthread nach den > starten der beiden anderen Threads auch noch mal das Mutex. Kann er ja tun. > Und laut Beschreibung ist es so als ob aller drei das Mutex bekommen?! Ja, aber die müssen das Ding doch auch irgendwann wieder freigeben, oder tun sie das nicht?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.