Video: Zakaj Pthread_cond_wait potrebuje mutex?
2024 Avtor: Lynn Donovan | [email protected]. Nazadnje spremenjeno: 2023-12-15 23:53
The mutex se uporablja za zaščito same spremenljivke pogoja. Zato ti potrebujejo zaklenilo se je pred tabo narediti čakati. Potem, ko je spremenljivka pogoja signalizirana ali oddana, se bo ena ali več niti na čakalnem seznamu prebudila in mutex bo spet čarobno zaklenjen za to nit.
V zvezi s tem, ali Pthread_cond_wait odklene mutex?
The pthread_cond_wait () funkcija blokira klicno nit na spremenljivki pogoja cond, in odklene povezanega mutex mutex . Klicna nit mora biti zaklenjena mutex preden počakate na spremenljivko pogoja. Ob vrnitvi iz funkcije, mutex je spet zaklenjen in je v lasti klicne niti.
Kasneje se postavlja vprašanje, zakaj je potreben mutex? Zagotavlja, da samo ena nit izvaja ključni del kode naenkrat, kar posledično omejuje dostop do podatkovne strukture. Zagotavlja, da imata obe niti popoln in pravilen pogled na ta pomnilnik, ne glede na preureditev CPU-ja. The mutex je absolutna nuja pri hkratnem programiranju.
Poleg zgoraj navedenega, zakaj pogojne spremenljivke potrebujejo mutex?
The mutex je uporablja za zaščito spremenljivka stanja sama. Zato ti potrebujejo zaklenilo se je pred tabo narediti čakati. Potem, ko je pogojna spremenljivka je signalizirano ali oddano v eno ali več niti na čakalnem seznamu volja se zbudi in mutex bo biti spet čarobno zaklenjen za to nit.
Zakaj potrebujemo spremenljivke pogoja?
Spremenljivke pogoja pustite niz niti, da spi, dokler se ne žgečka! Lahko žgečkate eno nit ali vse niti, ki spijo. Če prebudite samo eno nit, se bo operacijski sistem odločil, katero nit bo prebudil.
Priporočena:
Zakaj računalnik potrebuje shranjevanje podatkov?
Računalniška shramba. Vaš računalnik potrebuje prostor za shranjevanje, ker procesor potrebuje prostor za izvajanje svoje čarovnije – beležko za nore priložnostne logotipe, če hočete. Začasni pomnilnik: na voljo kot pomnilnik ali RAM. Pomnilnik je tam, kjer procesor opravlja svoje delo, kjer se izvajajo programi in kjer so shranjene informacije, medtem ko se na njih dela
Ali Java podpira večkratno dedovanje Zakaj ali zakaj ne?
Java ne podpira več dedovanja prek razredov, ampak prek vmesnikov lahko uporabimo več dedovanja. Nobena java ne podpira več dedovanja neposredno, ker vodi do preglasitve metod, ko imata oba razširjena razreda isto ime metode
Zakaj Blockchain potrebuje pametno pogodbo?
Pametne pogodbe omogočajo izvedbo verodostojnih transakcij brez tretjih oseb. Ena najboljših stvari pri blockchainu je, da ker je decentraliziran sistem, ki obstaja med vsemi dovoljenimi stranmi, ni treba plačati posrednikov (Middlemen) in vam prihrani čas in konflikte
Ali je prenosni medij del fizične plasti Zakaj ali zakaj ne?
Fizična plast v modelu OSI je najnižja plast in se uporablja za prenos podatkov v svoji osnovni obliki: bitni ravni. Prenosni medij je lahko žični ali brezžični. Komponente fizičnega sloja v žičnem modelu vključujejo kable in konektorje, ki so implementirani za prenos podatkov z enega mesta na drugega
Zakaj SQL Server potrebuje CTE?
Izrazi skupnih tabel ali na kratko CTE se uporabljajo v strežniku SQL Server za poenostavitev zapletenih povezav in podpoizvedb ter za zagotavljanje sredstev za poizvedovanje po hierarhičnih podatkih, kot je organizacijski diagram