Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
Kritická časť:
Kritická sekcia je zdieľaná časť kódu alebo údajov, ku ktorým musí naraz pristupovať iba jedno vlákno. Viaceré vlákna pristupujúce súčasne k kritickej sekcii môžu spôsobiť poškodenie údajov a nepredvídateľné správanie.
Synchronizačné primitíva:
Na synchronizáciu prístupu vlákien ku kritickým sekciám sa používajú rôzne synchronizačné primitívy:
- mutexy (zámky vzájomného vylúčenia):Mutex sa používa na uzamknutie zdieľaného zdroja, čo umožňuje prístup ku kritickej sekcii súčasne iba jednému vláknu. Vlákna pokúšajúce sa o prístup k uzamknutému zdroju sú zablokované, kým sa mutex neodomkne.
- semafory:Semafor je premenná používaná na riadenie prístupu k zdieľaným zdrojom. Obsahuje nezáporné celé číslo, ktoré určuje počet dostupných zdrojov. Vlákna pred prístupom k zdrojom zmenšujú semafor a po dokončení ho zvyšujú.
- stavové premenné:Stavové premenné sa používajú v spojení s mutexmi na spravovanie vlákien, ktoré čakajú na špecifické udalosti alebo podmienky pred pokračovaním. Vlákna používajú premenné podmienok na čakanie, kým sa splní určitá podmienka, a potom pokračujú v ich vykonávaní.
- Atómové premenné:Atómové premenné poskytujú bezpečné operácie s premennými. Zabezpečujú, aby všetky vlákna pristupujúce k premennej videli rovnakú hodnotu v rovnakom čase.
- Bariéry:Bariéry sú synchronizačné body, kde vlákna čakajú, kým všetky vlákna dosiahnu konkrétny bod v kóde, kým budú pokračovať ďalej.
Synchronizácia vlákien má za cieľ zabezpečiť kontrolovaný prístup k zdieľaným zdrojom, zabrániť rasovým podmienkam a poškodeniu údajov a zaručiť konzistentné správanie systému.