Video: Hvorfor har Pthread_cond_wait brug for en mutex?
2024 Forfatter: Lynn Donovan | [email protected]. Sidst ændret: 2023-12-15 23:45
Det mutex bruges til at beskytte selve tilstandsvariablen. Det er derfor du brug for den låste sig foran dig gør en ventetid. Når tilstandsvariablen derefter signaleres eller udsendes til, vil en eller flere af trådene på ventelisten blive vækket, og mutex vil på magisk vis blive låst igen for den tråd.
Med hensyn til dette, låser Pthread_cond_wait mutex op?
Det pthread_cond_wait () funktion blokerer den kaldende tråd på betingelsesvariablen cond, og låser op det tilknyttede mutex mutex . Opkaldstråden skal være låst mutex før man venter på betingelsesvariablen. Ved hjemkomst fra funktionen vil mutex er igen låst og ejet af den kaldende tråd.
Efterfølgende er spørgsmålet, hvorfor er mutex nødvendig? Det sikrer, at kun én tråd udfører et nøglestykke kode ad gangen, hvilket igen begrænser adgangen til en datastruktur. Det sikrer, at begge tråde har en fuld og korrekt visning af hukommelsen uanset CPU-omlægning. Det mutex er en absolut nødvendighed, når du laver samtidig programmering.
Udover ovenstående, hvorfor har tilstandsvariabler brug for mutex?
Det mutex er bruges til at beskytte betingelsesvariabel sig selv. Det er derfor du brug for den låste sig foran dig gør en ventetid. Så når betingelsesvariabel er signaleret eller udsendt til en eller flere af trådene på ventelisten vilje blive vækket og den mutex vilje blive på magisk vis låst igen for den tråd.
Hvorfor har vi brug for tilstandsvariable?
Tilstandsvariable lad et sæt tråde sove, indtil de kildes! Du kan kilde en tråd eller alle tråde, der sover. Hvis du kun vækker én tråd, vil operativsystemet beslutte, hvilken tråd der skal vækkes.
Anbefalede:
Hvorfor har vi brug for logisk og fysisk adresse?
Behovet for logisk adresse er at administrere vores fysiske hukommelse sikkert. Logisk adresse bruges til at referere for at få adgang til den fysiske hukommelsesplacering. Bindingen af instruktion og data fra en proces til hukommelsen sker på kompileringstidspunktet, indlæsningstidspunktet eller ved udførelsestidspunktet
Hvorfor har vi brug for session i PHP?
Sessioner er en enkel måde at gemme data for individuelle brugere mod et unikt sessions-id. Dette kan bruges til at bevare tilstandsinformation mellem sideanmodninger. Sessions-id'er sendes normalt til browseren via sessionscookies, og ID'et bruges til at hente eksisterende sessionsdata
Hvorfor har en computer brug for datalagring?
Computer opbevaring. Din computer har brug for lagerplads, fordi processoren har brug for et sted at udføre sin magi - en scratchpad til gale kruseduller, om du vil. Midlertidig lagring: Leveres som hukommelse eller RAM. Hukommelse er det sted, hvor processoren udfører sit arbejde, hvor programmer kører, og hvor information gemmes, mens der arbejdes på den
Hvorfor har vi brug for validator i CSS?
CSS Validator: Denne validator kontrollerer CSS-gyldigheden af webdokumenter i HTML, XHTML osv. En fordel ved HTML Tidy er at bruge en udvidelse, du kan tjekke dine sider direkte i browseren uden at skulle besøge et af validatorernes websteder
Hvorfor har vi brug for TCP og UDP?
Både TCP og UDP er protokoller, der bruges til at sende bits af data - kendt som pakker - over internettet. De bygger begge oven på internetprotokollen. Med andre ord, uanset om du sender en pakke via TCP eller UDP, sendes den pakke til en IP-adresse