Video: Prečo Pthread_cond_wait potrebuje mutex?
2024 Autor: Lynn Donovan | [email protected]. Naposledy zmenené: 2023-12-15 23:52
The mutex sa používa na ochranu samotnej premennej podmienky. Preto ty potrebu zamkla sa pred tebou robiť čakanie. Potom, keď je stavová premenná signalizovaná alebo vysielaná, jedno alebo viac vlákien na čakacom zozname sa prebudí a mutex bude pre toto vlákno opäť magicky uzamknuté.
Čo sa týka tohto, odomyká Pthread_cond_wait mutex?
The pthread_cond_wait () funkcia blokuje volajúce vlákno v premennej podmienky cond a odomkne pridružené mutex mutex . Volajúce vlákno musí byť uzamknuté mutex pred čakaním na premennú podmienky. Pri návrate z funkcie sa mutex je opäť uzamknutý a vo vlastníctve volajúceho vlákna.
Následne je otázkou, prečo je potrebný mutex? Zabezpečuje, že kľúčovú časť kódu súčasne vykonáva iba jedno vlákno, čo zase obmedzuje prístup k dátovej štruktúre. Zabezpečuje, že obe vlákna majú úplný a správny pohľad na túto pamäť bez ohľadu na akékoľvek preskupenie CPU. The mutex je absolútnou nevyhnutnosťou pri súbežnom programovaní.
Okrem vyššie uvedeného, prečo premenné podmienok potrebujú mutex?
The mutex je používané na ochranu stavová premenná sám. Preto ty potrebu zamkla sa pred tebou robiť čakanie. Potom, keď stavová premenná je signalizované alebo vysielané do jedného alebo viacerých vlákien na čakacom zozname bude byť prebudený a mutex bude byť pre toto vlákno opäť magicky uzamknutý.
Prečo potrebujeme stavové premenné?
Podmienkové premenné nechajte sadu vlákien spať, kým vás nešteklia! Môžete poštekliť jedno vlákno alebo všetky vlákna, ktoré spia. Ak prebudíte iba jedno vlákno, operačný systém rozhodne, ktoré vlákno sa má prebudiť.
Odporúča:
Prečo potrebuje počítač úložisko dát?
Počítačové úložisko. Váš počítač potrebuje úložisko, pretože procesor potrebuje miesto, kde bude vykonávať svoje kúzla – zápisník pre šialené čmáranice, ak chcete. Dočasné úložisko: Dodáva sa ako pamäť alebo RAM. Pamäť je miesto, kde procesor vykonáva svoju prácu, kde bežia programy a kde sa ukladajú informácie, kým sa s nimi pracuje
Podporuje Java viacnásobnú dedičnosť Prečo alebo prečo nie?
Java nepodporuje viacnásobnú dedičnosť prostredníctvom tried, ale prostredníctvom rozhraní môžeme použiť viacnásobnú dedičnosť. Žiadna java nepodporuje priamo viacnásobné dedičstvo, pretože vedie k prepísaniu metód, keď obe rozšírené triedy majú rovnaký názov metódy
Prečo blockchain potrebuje inteligentnú zmluvu?
Inteligentné zmluvy umožňujú vykonávanie dôveryhodných transakcií bez tretích strán. Jedna z najlepších vecí na blockchaine je, že keďže ide o decentralizovaný systém, ktorý existuje medzi všetkými povolenými stranami, nie je potrebné platiť sprostredkovateľom (Middlemen) a šetrí vám to čas a konflikty
Je prenosové médium súčasťou fyzickej vrstvy Prečo alebo prečo nie?
Fyzická vrstva v modeli OSI je najnižšia vrstva a používa sa na prenos údajov v základnej forme: bitová úroveň. Prenosové médium môže byť káblové alebo bezdrôtové. Komponenty fyzickej vrstvy v káblovom modeli zahŕňajú káble a konektory, ktoré sú implementované na prenos údajov z jedného miesta na druhé
Prečo SQL Server potrebuje CTE?
Bežné tabuľkové výrazy alebo skrátene CTE sa používajú v rámci SQL Servera na zjednodušenie zložitých spojení a poddotazov a na poskytnutie prostriedkov na dopytovanie hierarchických údajov, ako je organizačná schéma