Video: Waarom heeft Pthread_cond_wait een mutex nodig?
2024 Auteur: Lynn Donovan | [email protected]. Laatst gewijzigd: 2023-12-15 23:51
De mutex wordt gebruikt om de voorwaardevariabele zelf te beschermen. Dat is waarom jij nodig hebben het vergrendeld voor je doen een wacht. Wanneer dan de conditievariabele wordt gesignaleerd of uitgezonden naar, zullen een of meer van de threads op de wachtlijst worden gewekt en de mutex wordt op magische wijze weer vergrendeld voor die thread.
Wat dit betreft, ontgrendelt Pthread_cond_wait mutex?
De pthread_cond_wait () functie blokkeert de aanroepende thread op de conditievariabele cond, en ontgrendelt De bijbehorende mutex mutex . De aanroepende thread moet vergrendeld zijn mutex voordat u wacht op de voorwaardevariabele. Bij terugkeer van de functie, de mutex is opnieuw vergrendeld en eigendom van de aanroepende thread.
Vervolgens is de vraag, waarom is mutex nodig? Het zorgt ervoor dat slechts één thread tegelijkertijd een belangrijk stuk code uitvoert, wat op zijn beurt de toegang tot een gegevensstructuur beperkt. Het zorgt ervoor dat beide threads een volledig en juist beeld van dat geheugen hebben, ongeacht eventuele herschikking van de CPU. De mutex is een absolute noodzaak bij gelijktijdig programmeren.
Naast het bovenstaande, waarom hebben conditievariabelen mutex nodig?
De mutex is gebruikt om de te beschermen conditie variabele zelf. Dat is waarom jij nodig hebben het vergrendeld voor je doen een wacht. Toen de voorwaarde variabele is gesignaleerd of uitgezonden naar een of meer van de threads op de wachtlijst zullen wakker worden en de mutex wil opnieuw magisch worden vergrendeld voor die draad.
Waarom hebben we conditievariabelen nodig?
Conditievariabelen laat een stel draden slapen tot ze gekieteld zijn! Je kunt één thread kietelen of alle threads die slapen. Als u slechts één thread activeert, beslist het besturingssysteem welke thread moet worden geactiveerd.
Aanbevolen:
Waarom heeft een computer gegevensopslag nodig?
Computeropslag. Je computer heeft opslagruimte nodig omdat de processor een plek nodig heeft om zijn magie uit te voeren - een kladblok voor gekke doodles, als je wilt. Tijdelijke opslag: Geleverd als geheugen of RAM. Geheugen is waar de processor zijn werk doet, waar programma's worden uitgevoerd en waar informatie wordt opgeslagen terwijl eraan wordt gewerkt
Heeft een fotocel een nulleider nodig?
De fotocel heeft de nulleider nodig om zijn interne schakeling te bedienen
Waarom heeft een Blockchain een slim contract nodig?
Slimme contracten maken het mogelijk om geloofwaardige transacties uit te voeren zonder derden. Een van de beste dingen van de blockchain is dat, omdat het een gedecentraliseerd systeem is dat bestaat tussen alle toegestane partijen, het niet nodig is om tussenpersonen (tussenpersonen) te betalen en het bespaart u tijd en conflicten
Heeft een Macbook Air een antivirus nodig?
Macs hebben geen antivirussoftware nodig. Mac-gebruikers vragen vaak of ze 'anti-virus' (AV) of 'anti-malware' software moeten installeren. Het korte antwoord is 'nee', maar het kan de verkeerde indruk wekken dat er geen dreiging is van wat losjes 'virussen' worden genoemd. Er is dreiging
Waarom heeft SQL Server CTE nodig?
De Common Table Expressions of kortweg CTE's worden binnen SQL Server gebruikt om complexe joins en subquery's te vereenvoudigen en om een manier te bieden om hiërarchische gegevens te doorzoeken, zoals een organigram