Video: Miks vajab Pthread_cond_wait mutexit?
2024 Autor: Lynn Donovan | [email protected]. Viimati modifitseeritud: 2023-12-15 23:45
The mutex kasutatakse tingimusmuutuja enda kaitsmiseks. Sellepärast sina vaja see lukustus teie ees teha ootamine. Kui tingimusmuutuja on signaalitud või edastatud, äratatakse üks või mitu ootenimekirja lõime ja mutex lukustatakse selle lõime jaoks uuesti võluväel.
Seoses sellega, kas Pthread_cond_wait avab mutexi?
The pthread_cond_wait () funktsioon blokeerib kutsuva lõime tingimusmuutujal cond ja avab lukud seotud mutex mutex . Kutsuv lõim peab olema lukustatud mutex enne tingimusmuutuja ootamist. Funktsioonist naastes mutex on jälle lukus ja kuulub kutsuvale lõimele.
Seejärel tekib küsimus, miks on mutexi vaja? See tagab, et ainult üks lõim täidab korraga võtmekoodi, mis omakorda piirab juurdepääsu andmestruktuurile. See tagab, et mõlemal lõimel on täielik ja korralik vaade sellest mälust, olenemata protsessori ümberkorraldamisest. The mutex on samaaegse programmeerimise puhul absoluutselt vajalik.
Miks vajavad tingimusmuutujad lisaks ülaltoodule mutexi?
The mutex on kasutatakse kaitsmiseks seisundi muutuja ise. Sellepärast sina vaja see lukustus teie ees teha ootamine. Siis, kui tingimuse muutuja on signaal või edastamine ühele või mitmele ootenimekirja lõimele tahe üles äratada ja mutex tahe olla selle lõime jaoks jälle võluväel lukus.
Miks me vajame tingimusmuutujaid?
Tingimuste muutujad lase niitide komplektil kõdistamiseni magada! Saate kõditada ühte või kõiki magavaid niite. Kui äratate ainult ühe lõime, otsustab operatsioonisüsteem, milline lõime äratada.
Soovitan:
Miks vajab arvuti andmesalvestust?
Arvuti salvestamine. Teie arvuti vajab salvestusruumi, sest protsessor vajab oma võlu tegemiseks kohta – kui soovite, siis kriipsuleht hullude vigurlogide jaoks. Ajutine salvestusruum: tarnitakse mäluna või RAM-ina. Mälu on koht, kus protsessor oma tööd teeb, kus programmid töötavad ja kus sellega töötamise ajal teavet salvestatakse
Kas Java toetab mitut pärimist Miks või miks mitte?
Java ei toeta klasside kaudu mitut pärandit, kuid liideste kaudu saame kasutada mitut pärandit. Ükski java ei toeta otse mitut pärimist, kuna see viib meetodite alistamiseni, kui mõlemal laiendatud klassil on sama meetodi nimi
Miks vajab Blockchain nutikat lepingut?
Nutikad lepingud võimaldavad teostada usaldusväärseid tehinguid ilma kolmandate isikuteta. Üks parimaid asju plokiahela juures on see, et kuna see on detsentraliseeritud süsteem, mis eksisteerib kõigi lubatud osapoolte vahel, pole vaja vahendajatele (vahemeestele) maksta ning see säästab teie aega ja konflikte
Kas edastusmeedium on osa füüsilisest kihist Miks või miks mitte?
OSI mudeli füüsiline kiht on madalaim kiht ja seda kasutatakse andmete edastamiseks selle põhikujul: bititasemel. Edastusmeedium võib olla juhtmega või juhtmevaba. Juhtmega mudeli füüsilise kihi komponendid hõlmavad kaableid ja pistikuid, mis on rakendatud andmete edastamiseks ühest kohast teise
Miks SQL Server vajab CTE-d?
Tavalisi tabeliavaldisi või lühidalt CTE-sid kasutatakse SQL Serveris keerukate liitumiste ja alampäringute lihtsustamiseks ning hierarhiliste andmete (nt organisatsiooni diagrammi) päringute pakkumiseks