Video: Warum braucht Pthread_cond_wait einen Mutex?
2024 Autor: Lynn Donovan | [email protected]. Zuletzt bearbeitet: 2023-12-15 23:42
Die mutex wird verwendet, um die Bedingungsvariable selbst zu schützen. Deshalb bist du brauchen es schloss vor dir tun ein warten. Wenn dann die Bedingungsvariable signalisiert oder gesendet wird, werden einer oder mehrere Threads auf der Warteliste aufgeweckt und die mutex wird für diesen Thread auf magische Weise wieder gesperrt.
Entsperrt Pthread_cond_wait diesbezüglich Mutex?
Die pthread_cond_wait ()-Funktion blockiert den aufrufenden Thread für die Bedingungsvariable cond, und entsperrt der zugehörige mutex mutex . Der aufrufende Thread muss gesperrt sein mutex bevor Sie auf die Bedingungsvariable warten. Bei der Rückkehr aus der Funktion wird die mutex ist wieder gesperrt und gehört dem aufrufenden Thread.
Anschließend stellt sich die Frage, warum wird Mutex benötigt? Es stellt sicher, dass jeweils nur ein Thread einen Schlüsselcode ausführt, was wiederum den Zugriff auf eine Datenstruktur einschränkt. Es stellt sicher, dass die beiden Threads unabhängig von einer Neuordnung der CPU eine vollständige und korrekte Ansicht dieses Speichers haben. Die mutex ist eine absolute Notwendigkeit bei der gleichzeitigen Programmierung.
Warum benötigen Bedingungsvariablen außer oben einen Mutex?
Die Mutex ist verwendet, um die Bedingungsvariable selbst. Deshalb bist du brauchen es schloss vor dir tun ein warten. Dann, wenn die Bedingungsvariable ist an einen oder mehrere Threads auf der Warteliste signalisiert oder gesendet werden Wille aufgeweckt werden und die mutex wird für diesen Thread wieder magisch gesperrt werden.
Warum brauchen wir Bedingungsvariablen?
Bedingungsvariablen Lassen Sie eine Reihe von Fäden schlafen, bis sie gekitzelt werden! Sie können einen Thread oder alle schlafenden Threads kitzeln. Wenn Sie nur einen Thread aufwecken, entscheidet das Betriebssystem, welcher Thread aufgeweckt werden soll.
Empfohlen:
Warum braucht es die digitale Transformation?
Die digitale Transformation bietet eine wertvolle Gelegenheit für Kerngeschäftsfunktionen wie Finanzen und Personal, sich von manuellen Prozessen zu lösen und Schlüsselbereiche wie die Gehaltsabrechnung zu automatisieren, sodass sich Führungskräfte auf breitere Geschäftsmöglichkeiten konzentrieren können
Warum braucht ein Computer Datenspeicher?
Computerspeicher. Ihr Computer braucht Speicherplatz, weil der Prozessor einen Platz braucht, um seine Magie auszuführen – ein Notizblock für verrückte Kritzeleien, wenn Sie so wollen. Temporärer Speicher: Wird als Arbeitsspeicher oder RAM bereitgestellt. Der Speicher ist der Ort, an dem der Prozessor seine Arbeit verrichtet, wo Programme ausgeführt werden und wo Informationen gespeichert werden, während sie bearbeitet werden
Braucht eine Fotozelle einen Neutralleiter?
Die Fotozelle benötigt den Neutralleiter, um ihre interne Schaltung zu betreiben
Braucht das ganze Haus einen Überspannungsschutz?
Haushalte brauchen einen ganzen Haus-Überspannungsschutz In Haushalten gibt es mehr Elektronik und LED-Leuchten als je zuvor. Geräte wie Waschmaschinen und Trockner werden heute mit Leiterplatten gebaut, sodass es viel mehr Gegenstände gibt, die vor Überspannungen geschützt werden müssen, als dies in der Vergangenheit der Fall war
Warum braucht eine Blockchain einen Smart Contract?
Smart Contracts ermöglichen die Durchführung glaubwürdiger Transaktionen ohne Dritte. Eines der besten Dinge an der Blockchain ist, dass, da es sich um ein dezentrales System handelt, das zwischen allen zugelassenen Parteien besteht, keine Vermittler (Mittelsmänner) bezahlt werden müssen und Sie Zeit und Konflikte sparen